设计模式-结构型模式-桥接模式 Bridge
1.简介
将抽象部分和它的实现部分分离;使得他们可以独立的变化;
2.角色
- Abstraction:抽象类
- Refined:抽象的实现类
- Implementation:扩充的抽象类
- SpecificImplementation1:具体实现类
3.场景
在软件设计的过程中,我们可能面临的问题是一个抽象可以有多个实现。
4.举例
- Abstraction:Human、
- Refined:Man。Woman
- Implementation:HumanImpl
- SpecificImplementation1:MadnessMan。CleverMan
public abstract class Human {
HumanImpl human;
}
public class Man extends Human {
public Man(HumanImpl human) {
this.human = human;
}
}
public class Woman extends Human {
public Woman(HumanImpl human) {
this.human = human;
}
}
//人类
public class HumanImpl extends Human{
}
//聪明的人类
public class MadnessMan extends HumanImpl {
}
//愚蠢的人类
public class CleverMan extends HumanImpl {
}
public static void main(String[] args) {
//这类组合的对象 代理重写一个 聪明的女性类
Human human = new Woman(new CleverMan());
}