结构性模型
核心作用
整个程序结构实现松耦合。扩大整体的类结构。用来解决更大的问题。
分类
适配器模式、代理模式、桥接模式、装饰模式、组合模式、外观模式、享元模式。(框架、产品中用到的会更多)
适配器模式(adapter):
核心本质
将一个类的接口转换成客户希望的另外一个结构。使得原本接口不兼容而不能在一起工作的类可以一起工作。
模式中的角色
目标接口:客户期待的接口。也可以是类。
需要适配的类:需要适配的类。
适配器:通过包装一个需要适配的对象,把原接口转换成目标接口。
步骤:
- 定义适配器 (定义一个接口,然后让一个实现类实现这个接口。)
- 适配器和需要适配的类关联(1.继承 2.对象组合)
- 调用者去调用这个接口得到目标对象。
代码
//需要被适配的对象
public class Adapatee{
public void request(){
sout("可以完成客户的需要");
}
}
//调用者
public class Client{
public void test(Target t){
t.handleReq();
}
}
//目标对象
public interface Target{
void handleReq();
}
//适配器
//方式一:继承----不够灵活(类适配器的方式)
public class Adpater extends Adapatee implements Target{
public void handleReq(){
super.request();
}
}
psvm{
Client c =new Client();
Target t = new Adapter();
c.test(t)