论坛首页 Java企业应用论坛

业务逻辑层设计的一个问题

浏览 13261 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-10-16  
我认为,如果只需要简单的记录用户联系人的信息.那么,通过User的方法管理联系人,就看不出什么不妥。

但如果对于联系人还有很多扩展的逻辑,那么,情况会稍稍不同,因为在概念上,联系人依赖于用户,联系人必定与用户关联,否则其意义不完整,但用户可以在没有联系人的情况下,独立的理解。所以,要匹配这种依赖关系,就该在Contact中增加维护同用户关系的方法,而User类对此毫无所知。这就是将“本质同扩展分离”的一个示例。

领域模型中,“概念依赖”确实无处不在!
0 请登录后投票
   发表时间:2006-10-30  
基本的实体关系维护,放在领域对象里面是比较方便的
0 请登录后投票
   发表时间:2006-12-17  
如果是于模型之间的操作,应该放在域模型中,如果是涉及到其他的业务逻辑的应该放在业务类中
0 请登录后投票
   发表时间:2007-01-17  
partech 写道
我认为,如果只需要简单的记录用户联系人的信息.那么,通过User的方法管理联系人,就看不出什么不妥。

但如果对于联系人还有很多扩展的逻辑,那么,情况会稍稍不同,因为在概念上,联系人依赖于用户,联系人必定与用户关联,否则其意义不完整,但用户可以在没有联系人的情况下,独立的理解。所以,要匹配这种依赖关系,就该在Contact中增加维护同用户关系的方法,而User类对此毫无所知。这就是将“本质同扩展分离”的一个示例。

领域模型中,“概念依赖”确实无处不在!


同意,用依赖语义的一方维护association,
so maybe like this:

contact.addUser(user);
contact.deleteUser(user);
......

import java.util.*;
public class Contact{
  private int id;
  private User user;

......
get/set	
}
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics