Tactical Design Patterns in .NET: Managing Responsibilities
Pluralsight
Course Summary
Applying a design pattern to a real-world problem is not as straightforward as literature implicitly tells us. It is a more engaged process. This course gives an insight into tactical decisions we need to make when applying design patterns that have to do with separating and implementing class responsibilities.
-
+
Course Description
Textbooks and courses explain a design pattern by highlighting a situation, then providing a convenient solution: the pattern. There is nothing wrong with this when documenting a design pattern. The problem comes when the same sequence of steps is applied to recognize the design pattern directly from the requirements. The request is then captured in terms of a well-known design pattern. The design becomes rigid and unable to answer to changes in requirements. In this course on design patterns, students are actively pursued to not apply design patterns up-front. Design patterns come the other way around. Once a tailored solution is designed, parts of the design start exhibiting behavior which is a known hallmark of a certain design pattern. Only then do we change the design to accommodate the design pattern, and only because we have discovered the pattern in actual design. The key point is that a design pattern comes last to the design. Always with a relief; sometimes with a huge surprise in the form of a breakthrough.
-
+
Course Syllabus
The Right Time to Apply a Design Pattern- 45m 50s
—Introduction 7m 36s
—Implementing the Observer 4m 41s
—Supporting Different Notifications 6m 5s
—Evolving the Observer 11m 23s
—Design Patterns Backed by .NET Framework 6m 35s
—When Is the Right Time to Apply a Design Pattern? 7m 7s
—Summary 2m 20sCascading Factories to Eliminate Dependencies- 27m 15s
—Vacation Builder Example 6m 25s
—Pulling the Abstract Factory Out 7m 2s
—Using Inversion of Control to Resolve Dependencies 2m 20s
—Cascading Factories Explained 6m 19s
—Abstract and Concrete Factories 3m 30s
—Summary 1m 38sReal World Composition Pitfalls- 30m 16sCompositing the Control Role- 34m 52sObject Composition Using Chain of Responsibility- 41m 46sVisitor Design Pattern and Encapsulation- 36m 22sCalling Protocols and the Visitor- 30m 49sUsing Mixin to Move Responsibilities Out- 41m 50s