我有一个CoreData实体X,以及此实体的控制器XController。 现在还有另一个实体XGroup,它包含一个X实体集合和一个XGroupController。模型 - 控制器循环参考/设计问题
现在的问题是XGroupController需要与XController进行交互,并且只需将XGroupController传递给XGroup进行观察,然后从X实体中获取XControllers即可。
所以问题是:在实体中存储一个(弱,避免保留周期)引用到控制器是一个好主意吗?这只是感觉有点“错误”。有没有另外一种设计模式?
[编辑]其他信息: XController/XGroupController是视图控制器;而它觉得“错误”的原因是视图层不应该在模型层中。所以@ TechZen在他的第一段中是正确的。
但是,如果我没有那个参考,我该怎么做? 我看到的方式是通过XGroupController所有现有的XControllers(并在更改时加以更新),然后当XGroup中的项发生更改时,找到相应的控制器(通过检查X实体的XControllers属性是否在XGroup中)并最终与XControllers交谈。
我必须再次处理模型已经处理得很好的东西。 如果我不得不在另一次处理控制器层中的组时,它会不会使模型层没有意义?
Loc /复杂度的差异是如此重要,我错过了什么? (也许我应该补充一点,在我的场景中,存储XGroupController需要通过模型向XController提供的信息是没有意义的)。