Builds upon the object-oriented concepts learned in earlier courses, continuing with an in-depth application of object-oriented design principles and patterns. Learners will survey design patterns and principles and implement them in C# .NET applications. Additional topics include the SOLID principles, as well as the factory, singleton, and builder design patterns.