我在哪里可以找到一个关于如何在Windows窗体中完全实现MVC模式的好例子?
我在不同的网站上找到了许多教程和代码示例(例如,The Code Project和.netheave),但其中许多比MVC更能代表observer模式.由于我想开发的应用程序是用于学校项目的,所以我不愿意使用PureMVC或MVC#之类的框架.
我在哪里可以找到一个关于如何在Windows窗体中完全实现MVC模式的好例子?
我在不同的网站上找到了许多教程和代码示例(例如,The Code Project和.netheave),但其中许多比MVC更能代表observer模式.由于我想开发的应用程序是用于学校项目的,所以我不愿意使用PureMVC或MVC#之类的框架.
我认为,应用程序之间存在巨大差异,我们对如何编写应用程序的理解仍然非常有限.我以前使用过的Windows窗体应用程序彼此非常不同.我看到的一些设计差异包括(包括大多数组合):
因此,我认为不可能创建一个始终适合的MVC(或MVP)实现.
我看过的最好的帖子是explaining个MVC和why个MVC系统就是这样构建的,那就是"Build Your Own CAB" series by Jeremy D Miller.工作之后,你应该能够更好地理解你的 Select .
Select MVC/MVP Implementation for a Winforms Project给出一个值得阅读的概述.很多人喜欢PureMVC.我从未用过它,但下次需要MVC框架时我会看看它.
"Presenter First"是一种软件开发方法,它结合了Model View Presenter(MVP)设计模式和test-driven development的思想.它允许您从使用客户语言编写测试开始.例如:
"当我点击‘保存’按钮时
我没有使用"演示者优先"的经验,但当我有机会的时候我会试一试,因为它看起来很有前途.
Other Stack Overflow questions you may may wish to look at are here and here.
如果你想在任何时候使用WPF,看看Model-View ViewModel (MVVM)模式.这里有一个非常好的视频,你应该看看:Jason Dolinger on Model-View-ViewModel.
MVVM (Model View View Model) Design Pattern for Winforms给出另一个选项,如果需要,可以更容易地转换为WPF.Magical.Trevor是Windows窗体的另一个MVVM示例,它还包括基于属性名的自动绑定.
还要问问自己,你正在使用MVC.
一旦您明确了您的aims, Select 一个或另一个实现就变得更容易了.