Tactical Design Patterns in .NET: Managing Responsibilities
Offered By: Pluralsight
Course Description
Overview
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.
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.
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.
Syllabus
- The Right Time to Apply a Design Pattern 45mins
- Cascading Factories to Eliminate Dependencies 27mins
- Real World Composition Pitfalls 30mins
- Compositing the Control Role 34mins
- Object Composition Using Chain of Responsibility 41mins
- Visitor Design Pattern and Encapsulation 36mins
- Calling Protocols and the Visitor 30mins
- Using Mixin to Move Responsibilities Out 41mins
Taught by
Zoran Horvat
Related Courses
Computing: Art, Magic, Science - Part IIETH Zurich via edX Web Application Development: Basic Concepts
University of New Mexico via Coursera Web Application Development: The Presentation Tier
University of New Mexico via Coursera Técnicas Avançadas para Projeto de Software
Instituto Tecnológico de Aeronáutica via Coursera Programmation objet immersive en Pharo
Inria (French Institute for Research in Computer Science and Automation) via France Université Numerique