打字猴:1.700480229e+09
1700480229
1700480230 private Bonus bonus=new Bonus();
1700480231
1700480232 //绩效
1700480233
1700480234 private Performance perf=new Performance();
1700480235
1700480236 //税收
1700480237
1700480238 private Tax tax=new Tax();
1700480239
1700480240 //获得用户的总收入
1700480241
1700480242 public int totalSalary(){
1700480243
1700480244 return basicSalary.getBasicSalary()+bonus.getBonus()+
1700480245
1700480246 perf.getPerformanceValue()-tax.getTax();
1700480247
1700480248 }
1700480249
1700480250 }
1700480251
1700480252 这里只是对前面的元素值做了一个加减法计算,这是对实际HR系统的简化处理,如果把这个类暴露给外系统,那么被修改的风险是非常大的,因为它的方法totalSalary是一个具体的业务逻辑。我们采用门面模式的目的是要求门面是无逻辑的,与业务无关,只是一个子系统的访问入口。门面模式只是一个技术层次上的实现,全部业务还是在子系统内实现。我们来看HR门面,如代码清单33-27所示。
1700480253
1700480254 代码清单33-27  HR门面
1700480255
1700480256 public class HRFacade{
1700480257
1700480258 //总工资情况
1700480259
1700480260 private SalaryProvider salaryProvider=new SalaryProvider();
1700480261
1700480262 //考勤情况
1700480263
1700480264 private Attendance attendance=new Attendance();
1700480265
1700480266 //查询一个人的总收入
1700480267
1700480268 public int querySalary(String name,Date date){
1700480269
1700480270 return salaryProvider.totalSalary();
1700480271
1700480272 }
1700480273
1700480274 //查询一个员工一个月工作了多少天
1700480275
1700480276 public int queryWorkDays(String name){
1700480277
1700480278 return attendance.getWorkDays();
[ 上一页 ]  [ :1.700480229e+09 ]  [ 下一页 ]