我使用过这两种方法,使用CAB编写企业级应用程序,然后使用PRISM重写它(对于winforms,而不是WPF).
PRISM不适用于winforms开箱即用,你必须破解各种各样的东西,比如区域经理,但是一些复合东西会起作用(例如Unity或事件聚合).它确实需要花费很多工作,(所有PRISM源代码都是免费提供的)但是有一些开发人员写过关于如何开始的博客.一些例子:http : //briannoyesblogwp.azurewebsites.net/2008/10/13/composite-extensions-for-windows-forms/ http://blogs.msdn.com/b/gblock/archive/2008/10/20 /bringing-prism-to-winforms.aspx
CAB是否适用于WPF ...为什么要尝试找出?CAB非常陈旧,很难学习,因为做简单的事情是如此令人费解(学习曲线非常重要)并且内存使用率非常高.CAB的目标之一是允许开发人员编写解耦软件 - 但是对框架"东西"的依赖程度如此之多,以至于它几乎全面失败.我知道你是一名CAB开发人员,作为一名CAB开发人员,这是一项不小的成就,因为它需要花费大量的时间,精力和学习才能成功地使用CAB编写应用程序(我知道,我去过那里!),但是转到PRISM我不会用驳船杆接触CAB.
当我们迁移时,我们使用了MVP(MVVM刚刚被发明,因此我们不想沿着这条路走下去,因为它太未经过测试了!),并且在很大程度上它已经很好地发挥了作用.使用PRISM for winforms意味着我们失去了你可以用WPF获得的所有好的数据绑定 - 但是我们使用第三方工具来处理我们的绑定(有很多这些 - telerik是一个例子,虽然不是我的实际上使用).
如果您处于可以重写应用程序的情况 - 您可能会发现几乎不可能直接移植到PRISM.在迁移时我们的应用程序中有30个表单,并且由于我们将旧的CAB内容套入PRISM的工作量,我们最终重新创建了它.回想起来 - 我们真的应该咬紧牙关并迁移到PRISM的WPF实现,因为我们现在依赖于旧的过时技术来填补WPF给我们免费提供的空白(如数据绑定).如前所述,我们之所以没有,因为WPF和MVVM对于我们的利益相关者来说都是新的和过多的风险,但现在他们已经是非常成熟的技术/模式 - 我真的认为这是要做的事情,而不是改造你的框架(PRISM)使用Winforms.
所以 - 主要区别:CAB
WPF
如果你想直接来自马厩的信息 - 请阅读:http://compositewpf.codeplex.com/releases/view/16941 - 这是一份比较CAL和CAB的文件,并详细解释了为弥补这些缺点所采取的措施.出租车.
| 归档时间: |
|
| 查看次数: |
2637 次 |
| 最近记录: |