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 implement them in C# .NET applications. Additional topics include the adapter, decorator, proxy, composite, and MVVM design patterns.