声明:本文内容是从网络书籍整理而来,并非原创。
用户管理的例子
- 先看一张用户管理的类图:
再看一眼上面的图,思考:这样合理吗?
这个接口是一个很糟糕的设计! 用户的属性和行为竟然混合在一起!!!
正确的做法是把用户的信息抽取成一个业务对象(Bussiness Object,简称 BO),把行为抽取成另外一个接口中,我们把这个类图重新画一下:
这样划分成了两个接口,IUserBO 负责用户的属性,IUserBiz 负责用户的行为,因为是面向的接口编程,所有当产生了这个 UserInfo 对象之后,既可以把它当 IUserBO 接口使用,也可以当 IUserBiz 接口使用,类似下面代码:
IUserBiz userInfo = new UserInfo(); //我要赋值了,我就认为它是一个纯粹的BO IUserBO userBO = (IUserBO)userInfo; userBO.setPassword(