1700483679
1700483680
//候选者是否满足要求
1700483681
1700483682
public boolean isSatisfiedBy(User user);
1700483683
1700483684
}
1700483685
1700483686
规格书接口只定义一个方法,判断候选用户是否满足条件。再来看姓名相同的规格书,它实现了规格书接口,如代码清单37-7所示。
1700483687
1700483688
代码清单37-7 姓名相同的规格书
1700483689
1700483690
public class UserByNameEqual implements IUserSpecification{
1700483691
1700483692
//基准姓名
1700483693
1700483694
private String name;
1700483695
1700483696
//构造函数传递基准姓名
1700483697
1700483698
public UserByNameEqual(String_name){
1700483699
1700483700
this.name=_name;
1700483701
1700483702
}
1700483703
1700483704
//检验用户是否满足条件
1700483705
1700483706
public boolean isSatisfiedBy(User user){
1700483707
1700483708
return user.getName().equals(name);
1700483709
1700483710
}
1700483711
1700483712
}
1700483713
1700483714
代码很简单,通过构造函数传递进来基准用户名,然后判断候选用户是否匹配。大于基准年龄的规格书与此类似,如代码清单37-8所示。
1700483715
1700483716
代码清单37-8 大于基准年龄的规格书
1700483717
1700483718
public class UserByAgeThan implements IUserSpecification{
1700483719
1700483720
//基准年龄
1700483721
1700483722
private int age;
1700483723
1700483724
//构造函数传递基准年龄
1700483725
1700483726
public UserByAgeThan(int_age){
1700483727
1700483728
this.age=_age;
[
上一页 ]
[ :1.700483679e+09 ]
[
下一页 ]