Specification Pattern

A common implementation for the criterion object is the Specification pattern. A specification is a simple predicate that takes a Domain object and returns a boolean. Given a Domain object, it will return true if it specifies the specification, and false otherwise:

interface PostSpecification
{
/**
* @return boolean
*/
public function specifies(Post $aPost);
}

We just need to add a query method to our Repository:

interface PostRepository
{
// ...
public function query($specification);
}
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.140.153