首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF棱镜+现有WPF应用程序

WPF棱镜+现有WPF应用程序
EN

Stack Overflow用户
提问于 2015-05-26 13:37:58
回答 2查看 1.5K关注 0票数 6

我有一个现有的应用程序。

在WPF/MVVM方面有大约3年的良好经验--我觉得我应该从Prism开始(到目前为止我还不了解PRISM框架--我现在就计划学习它)。

目标是--使应用成为一个坚实的(设计)基础框架。现有代码是MVVM (最近的新特性)和模型后面的代码(现有特性)的混合。

因为它是一个庞大的应用程序--把所有东西都转移到棱镜上将是一项相当艰巨的任务。

问题:-我计划开始一个新的开发(一个大的特性实现)。我能用棱镜进行新的开发吗?我很高兴从零开始编写大部分组件,并慢慢地将整个应用程序迁移到Prism。

例如,现有的前台实时交易应用程序,计划向其添加后台/中间办公功能,并将前端办公功能缓慢地移动到Prism。

  • 我有一种感觉,学习PRISM可以像从winforms到WPF一样多学习曲线--是真的吗?我对书有什么建议吗?我有点过程性的学习者,更喜欢一步一步地从基础上学习(也就是关于棱镜的一切)。
  • 我将从棱镜中获得什么巨大的优势。在GUI级别上会有任何性能问题吗?

你好,维奈

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-26 14:16:49

我推荐官方指南,它首先定义了棱镜,如下所示:

Prism以示例和文档的形式提供指导,帮助您轻松设计和构建丰富、灵活和易于维护的Windows Presentation (WPF)桌面应用程序。使用包含重要架构设计原则(例如关注点分离和松散耦合)的设计模式,Prism可以帮助您使用松散耦合的组件设计和构建应用程序,这些组件可以独立发展,但可以轻松、无缝地集成到整个应用程序中。简而言之,这些应用程序是“为持续构建的”和“为更改而构建的”。这些类型的应用程序称为组合应用程序。

我强调了我认为最好的一句话,以及他们用来指这类应用的术语:复合应用程序。

如果您的应用程序可以从松散耦合的模块中受益,那么Prism可能是最好的选择。例如,在开发ERP时,您可以选择将每个相关的功能领域作为一个模块来实现。您可能希望对UI的不同部分(如股票交易商参考实施中)使用更细粒度的模块。

我还没有发现学习曲线非常陡峭。事实上,导游组织得很好,您可以在每一时刻都直接使用所需的概念,而无需阅读整个过程。从WinForms到WPF绝不是这样的改变:它建立在您熟悉的MVVM基础上,添加了一些更高级别的抽象,并使用了一些已知的模式,如publisher/订户事件。

底线是,对于适当大小的应用程序,您应该通过投资于使用Prism来获得可维护性。由于已经精通MVVM,学习应该非常容易。

编辑:回答评论

那么,我可以在现有的WPF应用程序中启动一个基于PRISM的GUI集吗?

当然是的。您可以使用您认为有用的部分,并且很可能最终会越来越多地使用。请注意,您可能需要更改应用程序的初始化以实现自举器。然而,它并不是强制性的,所以只需看一看模式,并开始使用您认为合适的模式。这不是什么都没有的框架。

票数 2
EN

Stack Overflow用户

发布于 2015-05-26 14:53:49

将现有的应用程序迁移到Prism是一项相当大的任务。拥有一个应用程序的一部分是棱镜,而不是它的一部分是可能的,但我想你会发现,你会发现自己变得非常沮丧,因为必须跳来跳去,在两个世界之间,并必须找到方法,让他们一起玩得很好。

我个人不会走这条路。如果您希望获得依赖注入的好处,那么逐步采用依赖注入库要比采用大得多的Prism框架容易得多。具体来说,当您正在构建新特性时,请编写它们,以便它们的依赖项被注入。最初,这段代码将失败,因此您将进入实际定义这些依赖项的位置,并添加一行代码将它们注册到DI容器中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30460209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档