规格模式 使用了策略模式,组合模式. 只不过将模式具体化了
规格模式将 与或非 操作进行了封装, 实现了类似 SQL查询语句的操作.
类图如下:

其中的角色如下:
抽象规格书代码:

组合规格书代码:

与或非规格书代码:



业务规格书:

场景类:

规格模式已经是一个非常具体的应用框架了, 遇到类似多个对象中筛选查找, 或者业务规则不适于放在任何已有实体或值对象中, 而且规则的变化和组合会掩盖那些领域对象的基本含义, 或者是想自己编写一个类似LINQ的语言工具的时候就可以照搬这部分代码, 只要实现自己的逻辑规格书即可