WPF Prism +现有的WPF应用程序

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

有了约3年的WPF / MVVM良好的经验 - 我觉得我应该从Prism开始(我现在还不知道PRISM框架 - 现在我计划学习它)。

目标是 - - 使应用成为基于SOLID(设计)的框架。 现有代码混合了MVVM(最新的新功能)和模型背后的代码(现有功能)

由于它是一个巨大的应用程序 - 将所有东西移动到Prism将是一项相当艰巨的任务。

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

例如现有的前台办公室实时交易应用程序,计划增加办公室/中间办公室功能,并将前台办公功能缓慢移至Prism。

  • 我有一种感觉,学习PRISM可以像从WinForms转移到WPF一样多的学习曲线 - 这是真的吗? 我应该遵循关于图书的任何建议? 我是一个程序学习者,喜欢逐步学习基础知识(即关于棱镜的一切)。

  • 我将从棱镜中获得什么样的巨大优势? 在GUI级别可以有任何性能命中吗?

  • 问候,Vinay


    我建议按照以下方式开始定义棱镜的官方指南:

    Prism以样本和文档的形式提供指导,帮助您轻松设计和构建丰富,灵活且易于维护的Windows Presentation Foundation(WPF)桌面应用程序。 使用体现重要架构设计原则的设计模式(如关注点分离和松散耦合), Prism可帮助您使用松散耦合的组件来设计和构建应用程序,这些组件可以独立演变,但可以轻松无缝地集成到整个应用程序中。 简而言之,这些应用程序是“为了持久而建”和“为改变而建造的”。 这些类型的应用程序被称为复合应用程序

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

    如果您的应用程序可以从具有松散耦合的模块中受益,那么Prism可能就是要走的路。 例如,在开发ERP时,您可以选择将每个相关功能区域作为模块来实施。 您可能希望更细化,并为UI的不同部分使用模块,例如股票交易商参考实现。

    我还没有发现学习曲线显着陡峭。 事实上,这个指南组织的很好,你可以直接看到你需要的每个时刻的概念,而无需阅读整个事情。 决不是从WinForms转移到WPF的这种变化:它建立在您熟悉的MVVM基础之上,增加了一些更高级别的抽象,并使用了一些已知的模式,例如发布者/订阅者事件。

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

    编辑 :回答评论

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

    绝对没错。 你可以把你觉得有用的部分拿下来,而且最终可能会越来越多地使用。 请注意,您可能需要更改应用程序的初始化以实现Bootstrapper。 然而,这不是强制性的,所以只要看看模式,并开始使用你认为合适的模式。 这不是一个全或无的框架。


    将现有的应用程序迁移到Prism是一项非常重要的任务。 有一部分应用程序是Prism,而其中一部分不成为可能,但我认为你会发现自己变得非常沮丧,不得不在两个世界之间来回跳动,并且不得不想方法让它们在一起很好地玩。

    我个人不会走这条道路。 如果您希望获得依赖注入的好处,那么逐渐采用依赖注入库要比采用更大的Prism框架容易得多。 具体来说,当你正在构建新的功能时,编写它们以使它们的依赖项被注入......最初,这些代码将会失败,然后你将到达每个这些依赖项被实际定义的地方,并添加一行代码来注册它们DI容器。

    链接地址: http://www.djcxy.com/p/84597.html

    上一篇: WPF Prism + Existing WPF Application

    下一篇: Background skin and fixed layout in wpf