您的位置:首页 > 编程语言 > Java开发

Java设计模式《十八》桥接模式

2017-04-22 14:54 369 查看
//桥接模式 将抽象部分与他的视线分离 是它们都可以独立地变化
//由于实现的方式有多种 交接模式的核心意图就是把这些独立出来 让他们各自的变化
//这就使得每种实现的变化不影响其他实现 从而到达应对变化的目的
//如让抽象的手既可以按照品牌分类 也可以按照功能来分类 在手机品牌中分手机功能


public class Abstraction{
protected Implementor imp;//聚合关系

public void setImplementor(Implementor imp){
this.imp=imp;
}
public void operation(){
imp.operation();
}
}
public class RefineAbstracttion extends Abstraction{
public void operation(){
imp.operation();
}
}


public abstract Implementor{
public abstract void operation();
}

public class ConcreteImplementorA extends Implementor{
public void operation(){
System.out.println("ConcreteImplementorA");
}
}

public class ConcreteImplementorB extends Implementor{
public void operation(){
System.out.println("ConcreteImplementorB");
}
}


/**
* 桥接模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。
*
* 由于实现的方式有多种,桥接模式的核心意图就是把这些实现独立出来,让它们各自地变化。
* 这就使得每种实现的变化不影响其他实现,从而达到应对变化的目的。
*
* 如让抽象的“手机”既可以按品牌来分类,也可以按照功能来分类,在手机品牌中聚手机功能。
*/
public class TestBridge {

public static void main(String[] args) {
Abstraction ab = new RefinedAbstraction();

ab.setImplementor(new ConcreteImplementorA());
ab.operation();

ab.setImplementor(new ConcreteImplementorB());
ab.operation();

Abstraction ab1 = new RefinedAbstraction();
ab1.setImplementor(new ConcreteImplementorB());
ab1.operation();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: