Domain-driven design includes many established patterns and practices, and the specification pattern is one of them. In this course, Specification Pattern in C#, you'll learn how to properly implement the specification pattern in practice. First, you'll learn about the use cases for this pattern. Next, you'll explore common anti-patterns and pitfalls in this area. Finally, you'll wrap up the course by learning about how to maintain encapsulation, as well as how to combine different specifications together. By the end of this course, you'll have the necessary knowledge needed to apply this pattern in real-world projects.
Course Overview Hi everyone, my name is Vladimir Khorikov, and welcome to my course, Specification Pattern in C#. I'm a back-end developer and we're excited to share this course with you. Domain-driven design includes many established patterns and practices. The specification pattern is one of them. This course is an in-depth description of how to implement this pattern in C#. Some of the major topics that we will cover include, use cases for the specification pattern, common anti-patterns in this area, integration with ORMs, and maintaining proper encapsulation. By the end of this course you will know everything needed to apply this pattern in real-world projects. Before beginning this course you should be familiar with the C# programming language. I hope you'll join me on this journey to learn the specification pattern and how to implement it in C#, here at Pluralsight.
Implementing the Specification Pattern the Naive Way Hi, my name is Vladimir Khorikov and this is the Specification Pattern in C# course. In this module, we will refactor our project using specifications. You will see a naive way to do so and will learn how to avoid common anti-patterns along the way.
Refactoring Towards Better Encapsulation Hi, my name is Vladimir Khorikov and this is the Specification Pattern in C# course. In this module we will refactor our project further. You will see how to implement proper encapsulation, avoid domain-knowledge duplication, and work with the SQL database efficiently at the same time. You will also see how to combine various specifications together, and we'll learn about the third use case for the specification pattern, creation of new objects.