注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

多多的爹

 
 
 

日志

 
 

四种设计模式的比较  

2007-05-28 16:06:21|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.        Fa?ade(外观模式)

用接口的方式暴露实体的一部分功能或者隐藏其它不想让外部知道的方法。

 

2.        Adapter(适配器模式)

将一个类的接口转换成客户希望的另外一个接口,封装晦涩难用的接口,提供简单的易用的接口。或者隐藏具体其它系统的接口,提供一个本系统的接口。

比如说,一个绘图引擎,可以是Windows,也可以Linux,提供一个公共的接口隐藏它们具体的实现。

 

3.        Bridge(桥接模式)

发现并封装变化点,用组合的方式而不是继承的方式连接对象。

 

4.        Strategy(策略模式)

将算法封装起来,并且可以互相替换。如此可独立于使用它的客户而变化。

 

以上四种模式比较类似,都是通过封装,将原来易变、晦涩或者类似的东西隐藏,暴露统一的接口,供客户使用的模式。但是由于封装的目标不一致,导致他们的区别:

1.  Facade     ——       将原有功能重新封装,或隐藏,或扩展,使之对于客户来说易于使用。用户可以在不了解原功能的情况下很简单的使用。

2.  Adapter    ——       将现有各个不同的系统封装,使之对外接口统一。只要在创建时有小小的改动,使用过程不变,提供的效果也会发生改变。

3.  Bridge      ——       将变化点封装,但提供相同的接口,如此套用相同的接口,但不同的变化,可以组合出各种结果。

4.  Strategy   ——       各个算法提供相同的对外接口,如此可以随便替换。

  评论这张
 
阅读(1)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017