在Jdon上看到这个模式,感受颇有意思。第一眼感受很忽然,这也是模式,咱们在业务中不常常这么作吗。换个角度一想,根据模式的定义,这还真是个模式。有context,惯用法。。。ide
从业务或领域对象中把一些规则独立出来,保证了规则和领域对象能够分别变化。例如:移动计费的套餐。对象
这样解决了一些规则变化频繁,同时与领域对象概念上不100% match的状况。ci
问题:可能会出现大量的Specification类,如何维护管理,须要进一步思考。it
注意事项:发现网上有人拿这个模式和Query Object模式对比。同时拿组合查询作例子,我的感受不是很确切。Query Object模式的应用很明确,而把查询组合做为Specification模式,感受两种模式说的不在一个层面上。 同时解决组合查询手段不少,我的以为自建一种small language更为灵活,方便io