"You know you don’t want to reinvent the wheel (or worse, a flat tire), so you look to design patterns – the lessons learned by those who've faced the same software design problems.
In this training you'll learn why and how you can exploit the wisdom and lessons learned by other developers who've been down the same design problem road and survived the trip.
We will look at the use and benefits of design pattern, look at some key OO design principles and walk through the example of how one patterns works." ("Head First, Design Patterns").
Goals
Design patterns are recurring solutions to software design problems you find again and again in real-world application development.
The specific details of a software problem may vary from project to project but patterns capture the essence and basic structure of successful experiences in solving similar problems. Design patterns thus offer a technique for capturing design and architecture, presenting and communicating architectural knowledge at all levels of a system, allowing experience and insights to be understood and distilled.
With knowledge of design patterns, a designer, programmer or architect can leverage the collective knowledge and expertise of the software community.
This course is an overview of the GOF design patterns. Each pattern represents a best practice solution to a software problem in some context. The course will cover the rationale and benefits of object-oriented software design patterns. Several example problems will be studied to investigate the development of good design patterns. Programming projects in the C# language will provide experience in the use of these patterns.
You will walk away from this training with the knowledge and the skills necessary to implement and benefit from design patterns in your next project.