打字猴:1.700480112e+09
1700480112
1700480113
1700480114 图33-5 HR系统的类图
1700480115
1700480116 该类图主要实现了工资计算,通过HRFacade门面可以查询用户的工资以及出勤天数等,而不用关心这个工资或者出勤天数是怎么计算出来的,从而屏蔽了外系统对工资计算模块的内部细节依赖。我们先看子系统内部的各个实现,考勤情况如代码清单33-21所示。
1700480117
1700480118 代码清单33-21 考勤情况
1700480119
1700480120 public class Attendance{
1700480121
1700480122 //得到出勤天数
1700480123
1700480124 public int getWorkDays(){
1700480125
1700480126 return(new Random()).nextInt(30);
1700480127
1700480128 }
1700480129
1700480130 }
1700480131
1700480132 非常简单,只用一个方法获得一个员工的出勤天数。我们再来看奖金计算,如代码清单33-22所示。
1700480133
1700480134 代码清单33-22 奖金计算
1700480135
1700480136 public class Bonus{
1700480137
1700480138 //考勤情况
1700480139
1700480140 private Attendance atte=new Attendance();
1700480141
1700480142 //奖金
1700480143
1700480144 public int getBonus(){
1700480145
1700480146 //获得出勤情况
1700480147
1700480148 int workDays=atte.getWorkDays();
1700480149
1700480150 //奖金计算模型
1700480151
1700480152 int bonus=workDays*1800/30;
1700480153
1700480154 return bonus;
1700480155
1700480156 }
1700480157
1700480158 }
1700480159
1700480160 我们在这里实现了一个示意方法,实际的奖金计算是非常复杂的,与考勤、绩效、基本工资、岗位都有关系,单单一个奖金计算就可以设计出一个门面。我们再来看基本工资,这个基本上是按照职位而定的,比较固定,如代码清单33-23所示。
1700480161
[ 上一页 ]  [ :1.700480112e+09 ]  [ 下一页 ]