适配器和外观模式

2018-12-24  本文已影响9人  满天星爱我

适配器模式

定义

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

要点

适配器(有两种)

结构图如下:

类适配器.png 对象适配器.png

它们之间的区别

外观模式

定义

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

要点

从它的定义上来看其实很好理解,外观的意图是要提供一个简单的接口,好让一个子系统更易于使用。如下为这个模式的类图:

外观模式.png

设计原则

那么如何不要让太多的类耦合在一起?

就任何对象而言,在该对象的方法内,我们只应该调用属于以下范围的方法:

那么如果调用从另一个调用中返回的对象的方法,会有什么害处?如果这样做,就相当于向另一个对象的子部分发出请求。在这种情况下,原则要我们改为要求该对象为我们做出请求,这样的话,我们就不需要认识该对象的组件了,如下例子:

不采用这样的原则:

public float getTemp(){
    Thermometer thermometer = station.getThermometer();
    return thermometer.getTemperature();
}

我们从气象站获取温度计,再从温度计对象取得温度。

采用这样的原则:

public float getTemp(){
    return station.getTemperature();
}

我们在气象站中加进一个方法,用来向温度计请求温度。这可以减少我们所依赖的类的数目。

适配器、外观、装饰者区别

上一篇 下一篇

猜你喜欢

热点阅读