Composite Application Guidance for WPF(2)2012-02-07 博客园 周银辉Composite Application Library(CAL)1,一个Composite Application 的基本组成Composite Application Library(CAL)作为Composite Application Guidance的最重要的组成部分,为我们提供打造Composite Application的最基础的组件和服务。看看下面这张图

一个Composite Application通常由这些部分组成的(与此同时,CAL相应的为我们提供了这些基础组件)Shell:应用程序的顶级窗口,其Host了各种不同的UI组件(通常是View),Shell本身并不知道它包含了哪些内容,通常情况下它有这非常有限的功能,而其他绝大多少功能则是由各个Module来提供的Shell Presenter:Shell的表示层逻辑,和MVP模式中的Presenter的意义相同,这使得Shell易于测试和维护Region:其相当于一个占位符,用于Host可视化元素(其被放在View中,并通过Region Manager来访问)Module:由View,数据模型,业务逻辑,服务等组成的一个集合,也就是我们常说的“模块”,其易于被单独开发、测试和部署,通常情况下我们让不同团队成员甚至是不同的团队负责不同的模块,然后这些模块最后再被集成起来成为一个完整的应用。View:即“视图”,与MVP中的View意义相同。Service:应用程序或模块暴露一些用于共享的“服务”,这些服务会被一个成为“服务容器”的东西来进行定位和加载(在CAL中其为Unity Container)