打字猴:1.70048428e+09
1700484280
1700484281 代码清单37-23 组合规格书
1700484282
1700484283 public abstract class CompositeSpecification implements ISpecification{
1700484284
1700484285 //是否满足条件由实现类实现
1700484286
1700484287 public abstract boolean isSatisfiedBy(Object candidate);
1700484288
1700484289 //and操作
1700484290
1700484291 public ISpecification and(ISpecification spec){
1700484292
1700484293 return new AndSpecification(this,spec);
1700484294
1700484295 }
1700484296
1700484297 //not操作
1700484298
1700484299 public ISpecification not(){
1700484300
1700484301 return new NotSpecification(this);
1700484302
1700484303 }
1700484304
1700484305 //or操作
1700484306
1700484307 public ISpecification or(ISpecification spec){
1700484308
1700484309 return new OrSpecification(this,spec);
1700484310
1700484311 }
1700484312
1700484313 }
1700484314
1700484315 与或非规格书代码分别如代码清单37-24、37-25、37-26所示。
1700484316
1700484317 代码清单37-24 与规格书
1700484318
1700484319 public class AndSpecification extends CompositeSpecification{
1700484320
1700484321 //传递两个规格书进行and操作
1700484322
1700484323 private ISpecification left;
1700484324
1700484325 private ISpecification right;
1700484326
1700484327 public AndSpecification(ISpecification_left,ISpecification_right){
1700484328
1700484329 this.left=_left;
[ 上一页 ]  [ :1.70048428e+09 ]  [ 下一页 ]