Webforms到Winforms

我是一个非常有经验的Web开发人员,更不用说程序员了。 我从未认真研究的一个领域是winforms开发。 有人可以推荐一些能帮助我熟悉winforms的资源吗? 我发现的许多资源都不太理想,因为它们要么对初学者太过满足,要么缺乏良好的软件设计原则。

首先,我可能会建议你潜入WPF而不是现在的winforms。 Winforms是.NET窗口应用程序的“旧”方式,而WPF是(至少接近)未来的方式。 也就是说, windowsclient.net似乎是关于这些技术的官方MS信息sockets。

实际上,来自网络背景可能会帮助你编写胖客户端软件(WinForms或WPF;我可以想到继续使用WinForms工作的许多原因),因为winform开发的许多缺陷在Web环境中根本不可能实现(例如在工作单元/交互之间保持连接开放,并且通常持有[大量]各种资源)。

一些技巧:

  • 大力应用关注点/单一责任概念的分离,并尽可能保持“表单代码”的精简。
  • 尽可能多地自动化诸如validation,数据绑定等无聊的东西。
  • 尝试实现像MVP这样的优秀演示模式,从微软的P&P人员那里看看像Prism这样的东西。 杰里米·D·米勒(Jeremy D. Miller)的演示模式wiki包含了一些已经存在于该领域的gem。
  • 在UI风格(页面式,MDI,标签式等)上下定决心并尝试坚持下去。 提出一个关于何时打开和关闭视图以及何时将哪些放在“主”窗口而不是弹出窗口的策略; 这可以提供Web开发人员并不总是熟悉的新自由度。

Windows Forms 2.0编程(Microsoft .NET开发系列)
作者:Chris Sells和Michael Weinhardt

编程WPF
作者:Chris Sells,Ian Griffiths

应用程序=代码+标记:Microsoft Windows Presentation Foundation指南(专业版 – 开发人员)
作者Charles Petzold

如果您正在构建企业桌面应用程序并熟悉OO设计模式,我建议将SCSF和CAB作为主干,并将Clickonce作为部署机制。

再看看WPF,这是winform的继任者……

哈哈哈哈哈。 在我看来,几乎每一个Winforms的例子都缺乏良好的软件设计原则。 这是由于Visual Studio默认使用的“表单优先”开发风格。

在大多数演示和示例中,制作更令人愉悦的设计没有任何好处,因为您只是尝试演示一件事情,并且重建架构会过于苛刻。