我正在创建一个用于显示自动迷宫求解器的模拟,其中几乎没有用户输入。
使用 MVC 架构并用 Java 实现。View 是通过 Controller 从 Model 接收和提取数据。
就目前而言,我有两个选项可用于更新模型逻辑并依次更新视图:
- 控制器实现 Runnable
控制器创建一个线程:
Thread runControl = new Thread(this); runControl.start();
然后线程可以在Controller中执行run(),更新Model逻辑并将新数据传递给View
然而,这不是我的首选方法,因为我希望模型运行它自己的逻辑。我会比较喜欢:
- 模型实现 Runnable
- 模型包含 run() 中的所有逻辑
- 控制器为模型创建一个线程并执行模型
我在这一点上迷路了。然后模型可以相应地更新自己的逻辑,但是当模型线程运行时,如何通知控制器模型数据的变化,然后检索该数据(仍在被操作/更新),然后通知看法?