打字猴:1.7004844e+09
1700484400
1700484401 }
1700484402
1700484403 以上一个接口、一个抽象类、3个实现类只要在适用规格模式的地方都完全相同,不用做任何的修改,大家闭着眼照抄就成,要修改的是下面的规格书——业务规格书,如代码清单37-27所示。
1700484404
1700484405 代码清单37-27 业务规格书
1700484406
1700484407 public class BizSpecification extends CompositeSpecification{
1700484408
1700484409 //基准对象
1700484410
1700484411 private Object obj;
1700484412
1700484413 public BizSpecification(Object_obj){
1700484414
1700484415 this.obj=_obj;
1700484416
1700484417 }
1700484418
1700484419 @Override
1700484420
1700484421 public boolean isSatisfiedBy(Object candidate){
1700484422
1700484423 //根据基准对象和候选对象,进行业务判断,返回boolean
1700484424
1700484425 return false;
1700484426
1700484427 }
1700484428
1700484429 }
1700484430
1700484431 然后就是看怎么使用了,场景类如代码清单37-28所示。
1700484432
1700484433 代码清单37-28 场景类
1700484434
1700484435 public class Client{
1700484436
1700484437 public static void main(String[]args){
1700484438
1700484439 //待分析的对象
1700484440
1700484441 ArrayList<Object>list=new ArrayList<Object>();
1700484442
1700484443 //定义两个业务规格书
1700484444
1700484445 ISpecification spec1=new BizSpecification(new Object());
1700484446
1700484447 ISpecification spec2=new BizSpecification(new Object());
1700484448
1700484449 //规则的调用
[ 上一页 ]  [ :1.7004844e+09 ]  [ 下一页 ]