适配器模式

第七个模式:适配器模式与外观模式

7.1问题引入

对于去欧洲旅行的美国旅客,需要注意的是欧洲标准的插座与美国的标准插座是不同的,所以需要引入适配器。同样,OO适配器和真实世界的适配器扮演同样的角色:将一个接口转换成另一个接口,以符合客户的期望。

7.2面向对象适配

让我们来看看使用中的适配器。以第一章中的鸭子为例,鸭子接口和类如下图:

wpsD6A.tmp

绿头鸭是鸭子的子类:

wps673D.tmp

然后,再看最新的“火鸡”接口:

wpsB6E4.tmp

现在,假设你缺鸭子对象,想用一些火鸡来冒充。显而易见,因为火鸡的接口不同,所以我们需要适配这个接口:

wps581.tmp

7.3适配器模型解析

wps38D1.tmp

下面引入适配器模式

适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。

7.4新模式

有一种改变接口的新模式,但它改变接口的原因是为了简化接口。这个模式被巧妙地命名为外观模式,之所以这么称呼,是因为它将一个或数个类的复杂的一切都隐藏在背后,至显露出一个干净美好的外观。

现在引入外观模式:

外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

posted @ 2015-05-14 17:02  maverick_fu  阅读(152)  评论(0编辑  收藏  举报