【发布时间】:2012-07-02 02:22:09
【问题描述】:
假设我有一个模型类 Person 和 name 属性。
我也有一个对应的PersonView,其中包含一个NameView 作为其子视图之一。
PersonView 还保留对人(其模型)的引用,NameView 保留对名称(其模型)的引用。
如果我在PersonView 中,我现在有两种方法可以获取名称:要么
self.person.name
或
self.nameView.name
所有的引用都是自然的。然而,这似乎违反了 DRY。上述路径应该产生相同的名称。但如果某些事情不同步,他们可能不会。
上面的例子比这些事情在实践中要简单得多。例如,该人可能是Family 对象的一部分,而该对象又被FamilyView 对象引用。现在有从FamilyView 到给定人名的三种不同路径。随着树的生长,它只会变得更糟。
处理这种情况的最佳方法是什么?
【问题讨论】:
标签: design-patterns data-structures dry