假设我有一个Person
带有name
属性的模型类。
我也有一个对应PersonView
的包含 aNameView
作为其子视图之一。
PersonView
还保留对人的引用(其模型),并保留NameView
对名称(其模型)的引用。
如果我在里面PersonView
,我现在有两种方法可以得到这个名字:要么
self.person.name
或者
self.nameView.name
所有的参考都是自然的。然而,这似乎违反了 DRY。上述路径应该产生相同的名称。但是,如果某些事情不同步,他们可能不会。
上面的例子比这些事情在实践中往往要简单得多。例如,人可能是Family
对象的一部分,而对象又被FamilyView
对象引用。现在有三种不同的路径从FamilyView
下到给定的人的名字。随着树的生长,它只会变得更糟。
处理这种情况的最佳方法是什么?