Windows表单Simart客户端现在是遗留物吗?它是否被Prism(和/或MVVM)取代?我是否应该费心去了解Smart Client?
另一个可能与之相关的问题是Winforms和WPF之间的性能差异除了wpf中的所有很酷的东西,比如数据绑定和3D? WPF难以在Windows 2000和Pre2000操作系统上运行吗?这个问题很重要,因为当你必须支持旧操作系统时(例如在NHS中),它可以决定你将使用winforms或WPF的哪个平台?
答案 0 :(得分:6)
与智能客户端软件工厂和WPF + MVVM合作,我当然认为SCSF是“遗产”。我不会在新项目中使用它。首先,它基于WinForms,但更重要的是,它是一个臃肿的框架。它很麻烦,不适合单元测试。我发现,在用5年的大部分时间开发一个应用程序后,该框架只是“阻碍”过于频繁。
我不能和Prism说话,但是在我使用SCSF之后,我会回避任何开箱即用的框架。当我开始使用WPF和MVVM时,我编写了自己的“框架”位。真的,我发现我需要的唯一东西是一个好的IoC容器(StructureMap是我的选择)和一个EventAggregator(我自己编写的两个接口和一个类实现,直接从Jeremy Miller博客上的帖子中借用)。除此之外,我使用直接WPF和MVVM开发模型。
鉴于绿地桌面应用程序,我的选择将是WPF,MVVM& STructureMap。
答案 1 :(得分:1)
我认为你的第一个问题几乎归结为WPF versus Winforms,之前已经回答过。
但是,关于你在Win2000及更早版本上关于WPF的第二个问题,WPF是.NET 3.0的一部分,你至少需要XP SP2或Win2003 Server for .NET 3.0 here,所以如果如果你想在XP之前的环境中使用.NET,你必须坚持使用WinForms。