首页 > 其他 > 详细

设计模式之桥接模式

时间:2015-07-16 21:59:38      阅读:230      评论:0      收藏:0      [点我收藏+]

桥接模式

将抽象部分与实现部分分离,使他们可以独立的变化。

Implementor

package com.hml.bridge;

/**
 * 实现部分
 */
public abstract class Implementor {

    public abstract void operation();
}

ConcreateImplementorA

package com.hml.bridge;

public class ConcreateImplementorA extends Implementor {

    @Override
    public void operation() {
        System.out.println("A");
    }

}

ConcreateImplementorB

package com.hml.bridge;

public class ConcreateImplementorB extends Implementor {

    @Override
    public void operation() {
        System.out.println("B");
    }

}

Abstraction

package com.hml.bridge;

/**
 * 抽象部分
 */
public abstract class Abstraction {
    protected Implementor implementor;
    
    public Implementor getImplementor() {
        return implementor;
    }

    public void setImplementor(Implementor implementor) {
        this.implementor = implementor;
    }

    public abstract  void operation() ;
}

RefinedAbstration

package com.hml.bridge;


public class RefinedAbstration extends Abstraction {

    @Override
    public void operation() {
        implementor.operation();
    }

}

Test

package com.hml.bridge;

public class Test {
    public static void main(String[] args) {
      Abstraction abs = new RefinedAbstration();
      abs.setImplementor(new ConcreateImplementorA());
      abs.operation();
      
      abs.setImplementor(new ConcreateImplementorB());
      
      abs.operation();
    }
}

类图
技术分享

桥接模式主要解决的问题是实现系统可能有多角度的分类,每一种分类都有可能变化,那么就把这种多角度分离出来让他们独立的变化,减少他们之间的耦合。

 

设计模式之桥接模式

原文:http://www.cnblogs.com/heml/p/4652465.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!