为C#寻找干净的WinForms MVC教程
如何创build丰富的用户界面Windows应用程序,例如Photo Shop。
我正在寻找干净的MVC教程WinForms与C#的地方。 ( 不是 ASP.NET MVC。)
在Windows平台上是新的; 大多数MSDN和互联网教程基本上把所有东西都放到Form类中。 更多的默认事件是在表单内部处理的,而不是将事件发送到控制器/模型,这反过来又改变了视图的状态。
或者是Windows应用程序的首选方法?
Derick Bailey(通过Los Techies)已经在 WinForms应用程序中join了一些梦幻般的文章 (以及完整的演示源代码),并在其中添加了一些其他良好模式(Application Controller,Event Aggregator)。
作品的灵感来自于杰里米·D·米勒 ( Jeremy D Miller)的一系列文章“build立你自己的CAB”
这可能是值得看看Model-View-ViewModel(如果你感兴趣/特别喜欢使用WPF)。
它专门用来处理WPF和Silverlight,并利用数据绑定将所有东西粘合在一起。
networking上有很多资源可以帮助我们find更多信息,包括John Gossman的介绍 ,以及Josh Smith的一篇好文章 ,他的博客上有关于MVVM的其他资源。
对于Windows应用程序,Windows操作系统无意中成为控制器的一部分。
该模型可以订阅各种事件/消息(例如,鼠标点击,移动,窗口重新大小,button点击…)。 当它完成更改更新处理时,通过重绘操作更新视图。
Windows操作系统充当控制器,因为它既发送消息到模型(例如鼠标点击)或视图(告诉它的一部分窗口是脏的,需要重绘)。
当然,对于任何商业应用程序,您可以实现自己的模型和文档结构,并将它们与相应的WinForm对象分开。
在.net中,这并不是很清楚,因为模型和视图部分只有一个文件。 在MFC中,它非常清楚 – 具有CDocument类及其相应的CView类。
对于Windows应用程序,而不是MVC模式,它有助于理解Windows消息传递体系结构以及如何处理它们。