Prism是一个非常易用的框架,它不仅帮助我们方便地实现松耦合,就连它本身的各个知识点之间也是“松耦合”的,你不是非要等到完全清楚它的每一个知识点后才能使用它,我可以随意单独拎出一个来快速演示如何在项目中快速使用它,但一个更合理的顺序更有助于描绘它。
知识的等级
怎样的顺序才算是更合理呢?如果一个知识是从无到有的,能够填补一个空白,那这个知识就是高等级的,如果一个知识只是可以优化旧知识,那这个知识等级就相对较低。
换一个说法,如果一个知识决定你能不能做到某事,就是高等级,如果只是能让你比原来做的更优雅,就是低等级。
好了,水了这么多废话,让我们切入正题。
按照“知识等级”由高到低,我将会以以下顺序来聊Prism。
6、MVVM
7、对话窗口服务
模块可以帮助我们像搭积木一样管理应用,以我们的DEMO为例,在App.xaml.cs中简单切换两个项目:
我们仅仅通过一条载入模块指令,就能切换应用程序的功能,就是借助模块把功能独立化实现的,如果你简单分析过Demo,会发现我把共用的代码都放在两个模块里,它们和Modules目录中的模块们共同组成应用,它们的依赖关系是这样的:
官方的Demo里演示了几种不同的载入Moudule的方法,有兴趣可以去看看。https://github.com/PrismLibrary/Prism-Samples-Wpf.git