Overview of SOLID Principles and Design Patterns
Modern programming languages such as C# are object oriented in nature. The C# language allows you to think and program in terms of classes and objects. However, knowing C# language keywords and features is just one part of the story. Equally important is knowing how these features can be put to use in the best possible way so as to result in a better quality code base and ultimately help in building software that is robust, flexible, maintainable, and extensible.