架构设计模式概要总结

1、MVC---->MVP---->MVVM:这三者是进化关系,一般到特殊。MVC是比较笼统的,平台无关的。而MVVM则是针对WPF的,仅适用于WPF。

2、AddIn---->MEF:AddIn(PlugIn和AddIn同义)是比较正统的、经典的插件开发模式,相对完整,但比较复杂。而MEF一般在WPF下使用,相对来说,抽象和封装程序更高,更容易使用。

3、架构模式和设计模式:两者没有严格的区别,只是在关注点和抽象层次上有一定的差别。一般而言,架构模式是关注关键性需求,强调抽象结构,而不是实现;设计模式可能关注关键性需求,也可能关注通性问题的解决,强调的问题解决的具体过程抽象。两者都强调开放性和扩展性。很多情况下,架构模式是会综合应用各种设计模式,并且以某种设计模式为架构模式的核心。

4、插件技术(MEF/AddIn/PlugIn)的核心是:反射和契约(接口)。过程如下:
     (1)定义Host端和AddIns共用的接口(IContract);
     (2)定义AddIns,要遵守IContract接口,可以通过特性(Attributes/Metadata)对AddIn进行自我描述
     (3)定义Host端:加载AddIns、组装AddIns、呈现AddIns(可以以菜单形式)、调用AddIns;
    插件技术具有很强的开放性和扩展性,可以动态地,甚至在运行时添加插件。但是也有一定的缺点:
     (1)AddIn之间的通信困难。解决办法是添加Shell层,进行消息转发;
     (2)AddIn和主程序(Host)的通信能力有限,对接口(IContract)设计要求高。(可以适配器模式对IContract接口进行包装转化)

5、AddIn模型通信过程:
(1)AddInHost通过AddIn的InnerOperation()操作AddIn的内部;
(2)AddInHost通过ManipulateAddIn()和AddInList协调AddIn之间的通信;
(3)AddIn通过OuterOperation()或/和AppContext操作AddInHost
  如此,即实现了全面的的通信协调
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值