1、结构模式
描述如何将类和对象组合成一个更大的结构
可以分为类模式和对象模式
类模式采用继承机制来组合接口和实现
对象模式描述了如何对一些对象进行组合,实现新功能的一些方法
因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性
2、结构模式常见的几种
(1)Adapter模式(适配器模式)
将一个类的接口转换成客户希望的另外一个接口
使得原本由于接口不兼容而不能一起的那些类可以一起工作
也叫做包装器Wrapper
class Adaptee {
public void SpecificRequest() {}
}
interface Target {
public void Request();
}
class Adapterimplements Target {
Adaptee adaptee;
public Adapter(Adaptee ee) {
adaptee = ee;
}
public void Request() {
// Implement behavior using
// methods in Adaptee:
adaptee.SpecificRequest();
}
}
class WhatIUse {
public void op(Target target) {
target.Request();
}
}
public classUseAdapter {
WhatIUse whatIUse = new WhatIUse();
Adaptee adaptee = new Adaptee();
Adapter adapt= new Adapter(adaptee);
public void test() {
whatIUse.op(adapt);
}
public static void main(String args[]) {
new UseAdapter().test();
}
} ///:~
(2)decorator模式(油漆工模式)
动态的给对象添加额外的职责
豆腐脑、咖啡等的各种口味
(3)proxy模式(代理模式)
- 资源管理代理(进入政府部门需要等级等各种身份登记)
- 远程代理
- 虚代理
(4)coposite模式 (组合模式)
(5)bridge模式