我想知道是否有任何架构框架用于创建桌面或独立应用程序,例如Java或C#.似乎有很多可用于Web应用程序,但我找不到很多关于桌面开发的框架或架构最佳实践的好资源.
理想情况下,我想知道是否有任何可用的桌面应用程序源代码可以被认为具有良好的体系结构或者使用某个框架构建.
虽然与桌面应用程序没有直接关系,但如果您正在为编写良好的项目寻找合适的源代码,我会问一个类似的问题:
具有极高代码质量的开源C#项目可供学习.
人们在那里提出了一些很好的建议:
Scott Hanselman的The Weekly Source Code系列(通常是C#管理)
由Microsoft Patterns&Practices团队编写的代码.
SharpDevelop的(用C#编写)
单(C#中的大多数框架)
Paint.Net(用C#编写)
NHibernate的(用C#编写)
城堡项目(用C#编写)
的xUnit(用C#编写)
.Net框架源代码
有一个来自Microsoft的WPF模式和实践的.NET架构指南包,代码名为"Prism" - 它基本上是"下一代"复合UI应用程序块(没有SCSF工具).它使用依赖注入,整个复合模式等.
有一个非常好的DNRTV截屏演示它.
在轻量级应用程序类别中,JSR 296 for Java(可能是未来的Java 7)是一个处理资源管理和操作等基础知识的框架.这里有很多链接:
http://tech.puredanger.com/java7#jsr296
扩大一点,你可以看看各种RCP框架,如:
Eclipse RCP:http://wiki.eclipse.org/index.php/Rich_Client_Platform
NetBeans平台:http://www.netbeans.org/products/platform/
Spring RCP:http://spring-rich-c.sourceforge.net/1.0.0/index.html
比较文章:http://www.infoq.com/news/eclipse-rcp-netbeans-platform
更新:已经提到(由Mark Reinhold在Devoxx '08),JSR 296将包含在Java 7中.
进一步更新:JSR 296已经死亡.JavaFX是客户端Java的当前方向.
查看Microsoft的智能客户端软件工厂.它包含代码示例和文档.
概观
该软件工厂为构建和运行复合智能客户端应用程序时遇到的常见挑战提供了经过验证 它可以帮助架构师和开发人员构建可由独立团队构建和部署的模块化系统.使用软件工厂构建的应用程序使用经验证的操作实践,例如集中式异常日志记录.
该软件工厂包含一组可重用的组件和库,Visual Studio 2008解决方案模板,向导和扩展,操作方法主题,自动化测试,广泛的体系结构文档,模式和参考实现.该软件工厂使用Windows窗体,Windows Presentation Foundation,Windows Communication Foundation和Enterprise Library 3.1 - 2007年5月发行版.在此版本中,Composite UI Application Block包含在软件工厂中.