打字猴:1.700480279e+09
1700480279
1700480280 }
1700480281
1700480282 }
1700480283
1700480284 所有的行为都是委托行为,由具体的子系统实现,门面只是提供了一个统一访问的基础而已,不做任何的校验、判断、异常等处理。我们编写一个场景类查看运行结果,如代码清单33-28所示。
1700480285
1700480286 代码清单33-28 场景类
1700480287
1700480288 public class Client{
1700480289
1700480290 public static void main(String[]args){
1700480291
1700480292 //定义门面
1700480293
1700480294 HRFacade facade=new HRFacade();
1700480295
1700480296 System.out.println(”===外系统查询总收入===”);
1700480297
1700480298 int salary=facade.querySalary(“张三”,new Date(System.
1700480299
1700480300 currentTimeMillis()));
1700480301
1700480302 System.out.println(“张三11月总收入为:”+salary);
1700480303
1700480304 //再查询出勤天数
1700480305
1700480306 System.out.println(”\n===外系统查询出勤天数===”);
1700480307
1700480308 int workDays=facade.queryWorkDays(“李四”);
1700480309
1700480310 System.out.println(“李四本月出勤:”+workDays);
1700480311
1700480312 }
1700480313
1700480314 }
1700480315
1700480316 运行结果如下所示:
1700480317
1700480318 ===外系统查询总收入===
1700480319
1700480320 张三11月总收入为:4133
1700480321
1700480322 ===外系统查询出勤天数===
1700480323
1700480324 李四本月出勤:22
1700480325
1700480326 在该例中,我们使用了门面模式对薪水计算子系统进行封装,避免子系统内部复杂逻辑外泄,确保子系统的业务逻辑的单纯性,即使业务流程需要变更,影响的也是子系统内部功能,比如奖金需要与基本工资挂钩,这样的修改对外系统来说是透明的,只需要子系统内部变更即可。
1700480327
1700480328
[ 上一页 ]  [ :1.700480279e+09 ]  [ 下一页 ]