我有一个 CoreData 实体 X,以及该实体的控制器 XController。现在有另一个实体 XGroup,它包含一组 X 实体和一个 XGroupController。
现在的问题是 XGroupController 需要与 XController 交互,最好只传递 XGroupController 一个 XGroup 来观察,然后从 X 实体中获取 XControllers。
所以问题是:在实体中存储对控制器的(弱,以避免保留循环)引用是一个好主意吗?只是感觉有点“不对劲”。是否有另一种设计模式?
[编辑] 更多信息:XController/XGroupController 是视图控制器;感觉“错误”的原因是视图层不应该在模型层中。所以@TechZen 的第一段是正确的。
但是,如果我没有那个参考,我该怎么做?我看到的方式是将 XGroupController 传递给所有现有的 XControllers(当它们发生变化时更新它们),然后当 XGroup 中的项目发生变化时,找到相应的控制器(通过检查它的 X 实体的 XControllers 属性是否在 XGroup 中)最后与 XControllers 交谈。
对于模型已经很好地处理的东西,我必须再次工作。如果我必须再次处理控制器层中的组,它不会使模型层变得毫无意义吗?
就位置/复杂性而言,差异是如此显着,我是否遗漏了什么?(也许我应该补充一点,在我的场景中,存储 XGroupController 需要通过模型提供给 XController 的信息是没有意义的)。