我在理解和实现 MVC 模式时遇到了一些麻烦。
我有一个单例“模型”类,它包含应用程序的所有数据并扩展了 Observable。当这些数据被修改时,我想更新视图,当其中一个视图收到用户的一些输入时,我想更新模型。中间是一个控制器(实现观察者),它具有视图和模型的实例。
我认为要做到这一点,视图必须有一个控制器实例。每当它从按钮或任何组件接收到事件时,它都会调用正确的控制器方法,将信息传输到模型。模型被更新并通知观察者,观察者将更新所有视图的每个组件,即使它们没有链接到已修改的特定数据,因为控制器无法知道模型中已修改的内容。我不确定这是一个好的设计。
我看了一下 PropertyChangeListener 类,它似乎纠正了这个问题,但我不太确定我是否理解所有内容。有没有首选的方法来做到这一点?
提前致谢 !