Specification Design Pattern
responsibility is to identify an object that satisfies it, and to combine with other specifications in various ways that support that basic responsibility (Eric Evans & Martin Fowler)
- There lacks a well-defined purpose for this pattern, and there's no guide when to implement it or not.
- Separate classes for each part of the specification fragments what could be a cohesive object.
Gold Customers Specification Sample