我有一个现有的应用程序。
在WPF/MVVM方面有大约3年的良好经验--我觉得我应该从Prism开始(到目前为止我还不了解PRISM框架--我现在就计划学习它)。
目标是--使应用成为一个坚实的(设计)基础框架。现有代码是MVVM (最近的新特性)和模型后面的代码(现有特性)的混合。
因为它是一个庞大的应用程序--把所有东西都转移到棱镜上将是一项相当艰巨的任务。
问题:-我计划开始一个新的开发(一个大的特性实现)。我能用棱镜进行新的开发吗?我很高兴从零开始编写大部分组件,并慢慢地将整个应用程序迁移到Prism。
例如,现有的前台实时交易应用程序,计划向其添加后台/中间办公功能,并将前端办公功能缓慢地移动到Prism。
你好,维奈
发布于 2015-05-26 14:16:49
我推荐官方指南,它首先定义了棱镜,如下所示:
Prism以示例和文档的形式提供指导,帮助您轻松设计和构建丰富、灵活和易于维护的Windows Presentation (WPF)桌面应用程序。使用包含重要架构设计原则(例如关注点分离和松散耦合)的设计模式,Prism可以帮助您使用松散耦合的组件设计和构建应用程序,这些组件可以独立发展,但可以轻松、无缝地集成到整个应用程序中。简而言之,这些应用程序是“为持续构建的”和“为更改而构建的”。这些类型的应用程序称为组合应用程序。
我强调了我认为最好的一句话,以及他们用来指这类应用的术语:复合应用程序。
如果您的应用程序可以从松散耦合的模块中受益,那么Prism可能是最好的选择。例如,在开发ERP时,您可以选择将每个相关的功能领域作为一个模块来实现。您可能希望对UI的不同部分(如股票交易商参考实施中)使用更细粒度的模块。
我还没有发现学习曲线非常陡峭。事实上,导游组织得很好,您可以在每一时刻都直接使用所需的概念,而无需阅读整个过程。从WinForms到WPF绝不是这样的改变:它建立在您熟悉的MVVM基础上,添加了一些更高级别的抽象,并使用了一些已知的模式,如publisher/订户事件。
底线是,对于适当大小的应用程序,您应该通过投资于使用Prism来获得可维护性。由于已经精通MVVM,学习应该非常容易。
编辑:回答评论
那么,我可以在现有的WPF应用程序中启动一个基于PRISM的GUI集吗?
当然是的。您可以使用您认为有用的部分,并且很可能最终会越来越多地使用。请注意,您可能需要更改应用程序的初始化以实现自举器。然而,它并不是强制性的,所以只需看一看模式,并开始使用您认为合适的模式。这不是什么都没有的框架。
发布于 2015-05-26 14:53:49
将现有的应用程序迁移到Prism是一项相当大的任务。拥有一个应用程序的一部分是棱镜,而不是它的一部分是可能的,但我想你会发现,你会发现自己变得非常沮丧,因为必须跳来跳去,在两个世界之间,并必须找到方法,让他们一起玩得很好。
我个人不会走这条路。如果您希望获得依赖注入的好处,那么逐步采用依赖注入库要比采用大得多的Prism框架容易得多。具体来说,当您正在构建新特性时,请编写它们,以便它们的依赖项被注入。最初,这段代码将失败,因此您将进入实际定义这些依赖项的位置,并添加一行代码将它们注册到DI容器中。
https://stackoverflow.com/questions/30460209
复制相似问题