Description
Course info
Rating
(44)
Level
Intermediate
Updated
June 27, 2017
Duration
1h 27m
Description

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.

About the author
About the author

Vladimir Khorikov is a Microsoft MVP and has been professionally involved in software development for more than 10 years.

More from the author
Building a Pragmatic Unit Test Suite
Intermediate
3h 42m
7 Oct 2016
Database Delivery Best Practices
Intermediate
2h 15m
7 Jun 2016
Applying Functional Principles in C#
Intermediate
3h 28m
8 Apr 2016
More courses by Vladimir Khorikov
Transcript
Transcript

Hi everyone, my name is Vladimir Khorikov and welcome to my course Specification Pattern in C#.

I am a backend developer and very 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 anin-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 the 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.