Obsev :: Implementing Domain Friendly, Predicates-like Specifications with C# 3.0 Expression trees
According to Fowler and Evans, Specification ” is to separate the statement of how to match a candidate, from the candidate object that it is matched against. As well as its usefulness in selection, it is also valuable for validation and for building to order “ .
We might need to secify the state of an object for one of these three purposes.
- To validate an object to see if it fullfills some need or ready for some purpose (Validation)
- To select an object from a collection (Selection)
- To specify the creation of a new object to fit some need (Building to order) *Quote from DDD / Eric Evans*

