Tactical Design Patterns in .NET: Creating Objects
This course sheds light on issues that arise when implementing creational design patterns and then provides practical solutions that will make our code easier to write and more stable when running.
What you'll learn
Many of the symptoms of deep design problems manifest when creating objects and object graphs. In this course, Tactical Design Patterns in .NET: Creating Objects, you'll see what it takes to create code that's easier and more stable. You'll start with a small console application which demonstrates basic Abstract Factory implementation. Next, you'll built a different console application which demonstrates basic implementation of the Builder pattern and exposes issues with it. Finally, you'll see the console application get much more complex while remaining completely stable and safe on the consuming end. When you're finished with this course, you'll be have a firm understanding of how to best create stable objects easily in .NET.
Table of contents
- Object Producer vs. Object Consumer 4m
- Understanding the Substitution Principle 5m
- Object Layout and Substitution Principle 8m
- Strengthening the Substitution Principle 3m
- Breaking the Liskov Substitution Principle 7m
- Behavioral Subtyping and Liskov Substitution Principle 8m
- Enforcing the Liskov Substitution Principle 7m
- Summary 3m
- Adding Complexity to the Product 7m
- Handling Added Complexity in the Builder 6m
- Identifying the Problem of the Calling Protocol 6m
- Applying Interface Segregation Principle to the Builder 7m
- Implementing the Fluent Interface in the Builder 5m
- Brushing Up the Fluent Interface of the Builder 6m
- Enforcing Contracts on Interfaces 8m
- Enforcing Command/Query Separation Principle 4m
- Cleaning up the Code 9m
- Summary 2m
- Specification Pattern by the Book 8m
- Introducing Configurable Specifications 11m
- Turning Validating Specification into Building Specification 4m
- Defining Specifications on the Fly 4m
- Incomplete Object vs. Incomplete Specification 7m
- Implementing the Specification 7m
- Showing the Flexibility of Specifications 5m
- Summary 2m