Facade模式和Adapter模式

Posted on 2007-11-21 13:03 game of programming 阅读(258) 评论(0)  编辑  收藏 所属分类: Design Pattern
从包装(Wrapper)的层次上来看,Facade模式和Adapter模式都是使用一个中间类来包装所需要的或者规定的接口,而不是直接调用原有子系统所提供的接口。那么这两种模式有什么区别和联系呢?
1 从所包装的对象或者子系统来说:Facade模式和Adapter模式都需要对一个现成的对象进行包装。但是Facade模式所提供的功能只是子系统所提供功能的子集,即Client只使用子系统的部分功能,而不需要全部功能。Adapter模式则可能提供子系统所有功能或者部分功能。
2 从模式向上所提供的接口来说:在Facade模式中,无需按照某种已有规则对接口举行定义,只是向上提供尽可能简单的接口;而在Adapter模式中,Adapter向上所提供的接口必须按照已有规则进行定义(在大多数情况下,为了保持多态性),即便是有更可能简单的接口。
从以上两方面可以看出,Facade模式的目的就是在于尽可能的简化接口;而Adapter模式则是把不符合定义规则的接口转换成符合定义规则的接口。

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 2, comments - 1, trackbacks - 0, articles - 5

Copyright © game of programming