Builds a clear specification of business rules, where objects can be checked against. The composite specification class has
one method called isSatisfiedBy
that returns either true or false depending on whether the given object satisfies the specification.