两个对象共享的模型

ski*_*ppy 2 java oop model-view-controller

我有三个类以有趣的方式进行交互.一个是模型类,它必须由其他两个类访问,因此它的单个实例作为每个类的成员保存.这两个类都以不同的方式与模型交互.

有几个实例必须完全抛弃模型对象并用新实例替换,这使事情复杂化.并且这些场合出现在两个观看/控制类中.因此,这些类中的任何一个必须能够向另一个发送信号,说"我们需要协调并促进用新的Model对象替换我们的Model对象".现在我在B类中有代码告诉A类构造一个新模型并将其发送回来,但现在我需要处理相反的情况,其中事件在A类中出现,不幸的是A类没有引用B级,可能不应该.

处理这个问题的好方法是什么?

更新:对不起,伙计们,这不能是单身人士.单身人士是你需要保证只有一件东西的时候.这与我上面提到的任何要求无关.这个类不是单身,不应该是.

更新:到目前为止,实际上只有一个这个Model类的实例,但我有一个模糊的怀疑我需要允许更多,我不想通过使用Singleton设计模式来限制自己我所拥有的不同关注点.事实证明我是对的:昨天我收到了新的要求,现在我需要支持任意数量的这些.:)当你不需要时,不要限制自己,不要在不打算的情况下滥用设计模式!

Sam*_*num 5

您将需要一个中间模型层,两个类中的每一个引用的模型"持有者"对象.ModelHolder保存对模型的引用.

此ModelHolder还应支持侦听器,因此当抛出其模型时,它可以通知任何侦听器模型已更改.