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 ]
[
下一页 ]