【发布时间】:2011-04-12 01:35:07
【问题描述】:
[抱歉,工作是专有的,所以我不能提供对象的详细信息]
我正在与一位同事一起开发 Java 应用程序。我在做客户端,他在写服务端代码。
应用程序显示一个 X 对象表。表中的列显示了 X 的一些属性。此外,我们有一列显示每个 X 的 Y 计数。(关联是 Y 到 X 的多对一,一种方式是,Y 引用其父 X)。
Y 的计数不是 X 的属性,而是通过对 DB 的查询获得的。
我使用的是 TableModel,因此使用 X 对象作为表格的模型显然会更容易。但由于 Y 计数不是 X 的属性,我需要创建一个容器对象来保存 X 和计数。这很烦人,因为它添加了一个似乎不必要的类。
我建议我的同事在 X 中添加一个额外的字段和一个 getter:
private void Map info = new HashMap();
这将使模型对象 X 更加灵活。我可以随时在客户端中存储我需要的任何状态,而不会影响模型的主要属性,这些属性特定于 X 的性质。键只会在客户端中定义,因此模型不会被污染。
他拒绝了,因为他认为模型对象应该只对领域进行建模,而额外的字段与领域对象无关,因此不应该添加。他认为客户应该处理这个问题。
这两种观点似乎都有优点,所以我会对其他读者对此的看法/感受感兴趣。
谢谢,
提姆
【问题讨论】:
标签: java model-view-controller model datamodel