1700465934
图19-1 人员信息类图
1700465935
1700465936
非常简单,有一个对象UserInfo存储用户的所有信息(实际系统上还有很多子类,不多说了),也就是BO(Business Object,业务对象),这个对象设计为贫血对象(Thin Business Object),不需要存储状态以及相关的关系,本人是反对使用充血对象(Rich Business Object),这里提到两个名词:贫血对象和充血对象,这两个名词很简单,在领域模型中分别叫做贫血领域模型和充血领域模型,有什么区别呢?一个对象如果不存储实体状态以及对象之间的关系,该对象就叫做贫血对象,对应的领域模型就是贫血领域模型,有实体状态和对象关系的模型就是充血领域模型。看不懂没关系,都是糊弄人的东西,属于专用名词。扯远了,我们继续说我们的人力资源管理项目,这个UserInfo对象,在系统中很多地方使用,你可以查看自己的信息,也可以修改,当然这个对象是有setter方法的,我们这里用不到就隐藏掉了。先来看接口,员工信息接口如代码清单19-1所示。
1700465937
1700465938
代码清单19-1 员工信息接口
1700465939
1700465940
public interface IUserInfo{
1700465941
1700465942
//获得用户姓名
1700465943
1700465944
public String getUserName();
1700465945
1700465946
//获得家庭地址
1700465947
1700465948
public String getHomeAddress();
1700465949
1700465950
//手机号码,这个太重要,手机泛滥呀
1700465951
1700465952
public String getMobileNumber();
1700465953
1700465954
//办公电话,一般是座机
1700465955
1700465956
public String getOfficeTelNumber();
1700465957
1700465958
//这个人的职位是什么
1700465959
1700465960
public String getJobPosition();
1700465961
1700465962
//获得家庭电话,这有点不好,我不喜欢打家庭电话讨论工作
1700465963
1700465964
public String getHomeTelNumber();
1700465965
1700465966
}
1700465967
1700465968
员工信息接口有了,就需要设计一个实现类来容纳数据,如代码清单19-2所示。
1700465969
1700465970
代码清单19-2 实现类
1700465971
1700465972
public class UserInfo implements IUserInfo{
1700465973
1700465974
/*
1700465975
1700465976
*获得家庭地址,下属送礼也可以找到地方
1700465977
1700465978
*/
1700465979
1700465980
public String getHomeAddress(){
1700465981
1700465982
System.out.println(“这里是员工的家庭地址……”);
1700465983
[
上一页 ]
[ :1.700465934e+09 ]
[
下一页 ]