我第一次尝试使用 WinForms 实现 MVP 方法。
我试图了解每一层的功能。
在我的程序中,我有一个 GUI 按钮,点击它就会打开一个 openfile 对话框窗口。
因此,使用 MVP,GUI 处理按钮单击事件,然后调用 presenter.openfile () ;
在 presenter.openfile ()中,是否应该将打开该文件的任务委托给模型层,或者由于没有数据或逻辑要处理,是否应该简单地按照请求操作并打开 openfile 对话框窗口?
更新: 我已经决定提供一个奖金,因为我觉得我需要在这方面的进一步帮助,最好是针对我下面的具体观点,以便我有上下文。
好的,在阅读了 MVP 之后,我决定实现被动视图。实际上,我将有一堆控件在一个 Winformation 上,这些控件将由一个演示者处理,然后将任务委派给模型。我的具体观点如下:
当 winform 加载时,它必须获得一个树视图。我认为视图因此应该调用一个方法,比如: presenter.gettree () ,这个方法反过来将委托给模型,模型将获取树视图的数据,创建并配置它,将其返回给演示者,然后传递给视图,再将其简单地分配给,比如说,一个面板,这种想法是正确的吗?
这对于任何 Winformation 上的数据控制都是一样的吗,因为我也有一个 datagridview?
我的应用程序,有一些模型类与相同的程序集。它还支持需要在启动时加载的插件的插件架构。视图是否会简单地调用一个 Presenter 方法,而这个方法又会调用一个加载插件并在视图中显示信息的方法?然后哪一层将控制插件引用。视图是否包含对它们或演示者的引用?
我认为视图应该处理关于表示的每一件事情,从树视图节点颜色到数据网格大小等等,这种想法对吗?
我认为他们是我的主要关注点,如果我理解这些流程应该是什么样的,我想我会没事的。