理想情况下,我希望知道是否有任何可用的源代码桌面应用程序,这些应用程序被认为具有良好的架构或是使用某个特定的框架构建的。
虽然与桌面应用程序没有直接关系,但如果您正在寻找良好编写的项目的优秀源代码,我提出了类似的问题:
人们在那里给出了一些很好的建议:
- Scott Hanselman的每周源代码系列(通常 管理C#)
- 由Microsoft Patterns & Practices团队编写的代码。
- SharpDevelop(用C#编写)
- Mono(大部分框架使用C#)
- Paint.Net(用C#编写)
- NHibernate(用C#编写)
- The Castle Project(用C#编写)
- xUnit(用C#编写)
- .Net Framework源代码
请查看微软的智能客户端软件工厂。它包含代码示例和文档。
概述
这个软件工厂提供了解决构建和操作复合智能客户端应用程序中常见挑战的经过验证的解决方案。它帮助架构师和开发人员构建可由独立团队构建和部署的模块化系统。使用软件工厂构建的应用程序使用针对操作的经过验证的实践方法,例如集中式异常日志记录。
软件工厂包含一组可重用的组件和库、Visual Studio 2008解决方案模板、向导和扩展、操作指南、自动化测试、广泛的架构文档、模式以及参考实现。软件工厂使用Windows Forms、Windows Presentation Foundation、Windows Communication Foundation和Enterprise Library 3.1 - May 2007版本。随着此版本的发布,Composite UI Application Block包含在软件工厂中。
在客户端开发中,你可以使用一些跟网页开发相同的方法,比如 Model View Presenter。System.Windows.Forms 命名空间提供了在C#中构建客户端应用程序所需的所有内容,同时 .NET Framework 的其余部分可提供你所需的服务(例如IO和远程调用)。
至于桌面应用程序的稳健架构的源代码,请查看Paint.NET和SharpDevelop的代码。它们都采用截然不同的方法,会对你很有帮助。
抱歉如果这个回答偏向 .NET。这是我最擅长的领域。 :)
查看IdeaBlade的Cabana For DotNet C#。
http://www.ideablade.com/CAB.htmlCabana示例应用程序
Cabana应用程序是一个简单而智能的客户端参考应用程序,具有清晰、功能丰富的用户体验,易于通过Web进行部署和操作。 Cabana演示了:
Microsoft模式和实践小组的复合UI应用程序块的简易方法。 通过UI组合实现可维护、可重用的代码。 将模型(业务逻辑和数据访问)与呈现分离。 模型-视图-控制器模式。 性能调优。 等等。