码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之桥接模式

时间:2015-07-16 21:59:41      阅读:90      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!