我有一个带有ViewPart的Eclipse RCP应用程序,它遵循模型 - 视图 - 控制器(MVC)设计。该模型是持有当前数据的POJO。 ViewPart是侦听模型更改并在必要时重新加载UI的视图。
在我的应用程序逻辑中,我想在用户从列表中选择条目时将新数据提取到模型中。由于数据是从服务器获取的,因此我使用Eclipse Job框架在另一个线程中执行此操作,以便不阻止UI。
现在,我正在努力寻找创建和开始后台工作的最佳位置。你对此有什么建议吗?我看到两种可能的方式:
修改 我知道MVC的定义相当松散。如果我使用例如Model-View-Presenter设计,答案会有所不同或更清楚吗?恕我直言,MVP主持人的责任略有明确。
答案 0 :(得分:2)
我会说...
User selects list entry -> controller handles event -> controller starts a job, passing the model -> job updates model -> UI updates based on change in model (if necessary)
我的理由......
控制器的作用是处理UI事件 - 列表条目选择。从那里,您从服务器获取数据并将其注入模型。在我看来,这应该与模型保持分开(即外部) - 例如,您可以更改正在使用的网络库,而不会影响数据模型。