当我为自己的项目构建自己的系统时,我正在学习很多关于设计模式的知识。我想问你一个我无法找到答案的设计问题。两个互相依赖的对象。那不好吗?
目前我正在使用带有多个客户端的套接字构建一个小型的聊天服务器。现在,我有三大类:
- 人级持有像尼克,年龄和房间对象的信息。
- 房间级别其中包含房间名称,主题和当前在该房间中的人员列表等信息。
- Hotel-class其中包含服务器上的人员列表和客房列表。
我在酒店级服务器上的人员名单,因为这将是很好的跟踪有多少人在线现在(不必遍历所有房间)。 因为我希望能够在不搜索房间的情况下搜索特定人员,所以住在酒店级别的人。
这是不好的设计?有没有另外一种方法来实现它?
谢谢。
我看到“相互依存”是我正在寻找的词。为了记录我正在用Java写这个。界面方法看起来很有趣,但并没有使解决方案变得更加不同,但我明白你的观点。感谢您的评论。 – 2010-04-11 03:10:29
@Kasper,关键是,依赖于_interfaces_(包括相互之间)没有真正的问题 - 它主要依赖于您想要避免的_concrete_软件(例如,在“循环”的情况下)。自由开始一个快速而肮脏的实现并在稍后转向更加健全的实现,这也加快了软件原型设计和迭代的演变和维护。 – 2010-04-11 03:27:40