打字猴:1.70048437e+09
1700484370
1700484371 return left.isSatisfiedBy(candidate)||right.isSatisfiedBy(candidate);
1700484372
1700484373 }
1700484374
1700484375 }
1700484376
1700484377 代码清单37-26 非规格书
1700484378
1700484379 public class NotSpecification extends CompositeSpecification{
1700484380
1700484381 //传递一个规格书
1700484382
1700484383 private ISpecification spec;
1700484384
1700484385 public NotSpecification(ISpecification_spec){
1700484386
1700484387 this.spec=_spec;
1700484388
1700484389 }
1700484390
1700484391 //not操作
1700484392
1700484393 @Override
1700484394
1700484395 public boolean isSatisfiedBy(Object candidate){
1700484396
1700484397 return!spec.isSatisfiedBy(candidate);
1700484398
1700484399 }
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
[ 上一页 ]  [ :1.70048437e+09 ]  [ 下一页 ]