Prism框架(三)——基于模块的应用程序开发
Prism使用模块(Module)的概念来对应用程序进行划分。一个module封装相关的关注点,并且具有单一的职责。module既可以按照应用程序的业务逻辑进行划分,也可以按照应用程序的架构层次进行划分。很多大型应用可能会同时包含两种类型的Module。
下图中,按照应用程序的业务逻辑进行模块划分:

下图中,按照应用程序的架构层次进行模块划分:

下面是设计模块的一些例子:
总之,模块并不一定只能按照业务逻辑进行划分,它可以是一个很灵活的设计。
两个模块之间应该是最小依赖,如果一个模块依赖另一个模块,应该通过松耦合的方式,使其都依赖于定义在shared library中的接口或者使用EventAggregator的方式进行通信。
一、定义Module