论坛首页 入门技术论坛

关于重对象轻对象的建模和数据结构设计问题

浏览 2632 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-03-18  
系统中有 Member,有 30 多个属性。现在增加一个 Club,Member 可加入 Club,Club 有 Founder, Manager 和 Member 等 Roles。整个 Club 系统只需要用到 Member 的不到 10 个属性。

问题:我需要建立 ClubMember 对象吗?如果还是用 Member,岂不是很重,很浪费。如显示 ClubMembers 列表的时候。如果建立,我需要拷贝相应数据表字段吗?

clubmembers

id  userId roleId dateline ...?
   发表时间:2007-03-18  
另外,对于 Founder, Manager,只需要显示名字,id 形成的链接,显示该 Club 有哪些管理成员,我应该设计为

public class Club {
  Member[] managers;

  public void addManager(manager) {...}
}

还是

public class Club {
  String managers;

  public void setManagers(String managers) {...}
}

前者的话也很重,后者就感觉不是很对劲,以前都是按前者设计,请指教下下
0 请登录后投票
   发表时间:2007-03-18  
在club和member之间建立一个多对多关系,管理员和普通成员的分类也属于关系.
我猜javaeye的用户和圈子应该也是这么建的.
0 请登录后投票
   发表时间:2007-03-20  
1:不只是expensive,而且严重绑定member!性能下降是几何等级!


2: 也很便扭!不知道你的角色是如何设计的,但是setManager这个函数真是怎么看怎么不对劲。


我不知道je的用户圈子怎么做的,我做过一个group的案例直接套Hibernate的OneTableOneClass的strategy!效率和结构上都比较清晰。



ps:可参考Hibernate References 的 inheritances一章!
0 请登录后投票
论坛首页 入门技术版

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