美文网首页
java设计模式07(桥接模式)

java设计模式07(桥接模式)

作者: 刺风有道 | 来源:发表于2019-04-20 23:40 被阅读0次

桥接模式是一种对象结构型模式,它又被称为柄体模式或接口模式。桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象关联取代了多层继承,将类之间的静态继承关系转换为动态的对象组合关系,使得系统更加灵活,并易于扩展,同时有效地控制了系统中类的个数。

桥接模式中将两个独立变化的维度设计为两个独立的继承等级结构,在抽象层建立起一个抽象关联,该关联关系类似一条连接两个独立继承结构的桥,故名桥接模式。

桥接模式的定义:将抽象部分与它的实现部分解耦,使得两者都能够独立变化。

桥接模式的结构与实现:
1.Abstraction(抽象类):用于定义抽象类的接口,通常是抽象类,其中定义了一个Implementor(实现类接口)类型的对象并可以维护该对象,它与Implementor之间具有关联关系,既可以包含抽象业务方法,也可以包含具体业务。

public abstract class Abstraction {
    
    public Implementor implementor;
    
    public void setImplementor(Implementor implementor) {
        this.implementor = implementor;
    }
    
    public abstract void operation();

}

2.Implementor(实现类接口):Implementor接口仅提供基本操作,而Abstraction定义的接口可能会做更多的复杂操作。Implementor接口对这些基本操作进行了声明,而具体实现交给其子类。通过关联关系,在Abstraction中不仅拥有自己的方法,还可以调用到Implementor中定义的方法,使用关联关系来替代继承关系。

public interface Implementor {

    public void operationImpl();
}

3.RefinedAbstraction(扩充抽象类):为具体实现类,实现了在Abstraction中声明的抽象业务方法,而且会取调用在Implementor中定义的业务方法。

public class RefinedAbstraction extends Abstraction {

    @Override
    public void operation() {
        //调用具体实现
        implementor.operationImpl();
    }

}

4.ConcreteImplementor(具体实现类):实现了Implementor接口,在不同的具体实现类中提供不同的实现,且提供给抽象类具体的业务操作方法。

public class ConcreteImplementor implements Implementor {

    @Override
    public void operationImpl() {
        System.out.println("桥接模式实现!");
    }

}

5.Test:

public class Test {

    public static void main(String[] args) {
        Implementor implementor=new ConcreteImplementor();
        RefinedAbstraction abstraction=new RefinedAbstraction();
        abstraction.setImplementor(implementor);
        abstraction.operation();
    }
}

相关文章

  • java设计模式07(桥接模式)

    桥接模式是一种对象结构型模式,它又被称为柄体模式或接口模式。桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象...

  • Java设计模式——桥接模式

    Java设计模式之桥接模式 回顾 上一期分享了适配器模式,主要为了实现解耦 桥接模式 简介 桥接模式是对象的结构模...

  • Java设计模式<桥接模式>

    Java设计模式<桥接模式> 意图 桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将...

  • java/android 设计模式学习笔记(8)---桥接模式

    java/android 设计模式学习笔记(8)---桥接模式 【备注】只用于个人收藏

  • Java设计模式--桥接模式

    桥接模式就是创建一道桥梁来连接两种类,一般都是对抽象和实现的桥接。对于那些不希望使用继承或因为多层次继承导致系统类...

  • Java设计模式----桥接模式

    场景 商城系统中常见的商品分类,以电脑为例,如何良好的处理商品分类销售的问题? 下图的关系我们可以用多继承结构来实...

  • Java设计模式 - 桥接模式

    定义 将抽象部分与其实现部分分离,使它们能够独立地进行变化。 桥接模式解决的问题就是实现与抽象之间的静态继成问题,...

  • Java设计模式:桥接模式

    模式的定义 将抽象部分与实现部分分离,使它们都可以独立的变化。 模式的使用场景 如果一个系统需要在构件的抽象化角色...

  • java设计模式 - 桥接模式

    1.简介 在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Phot...

  • 设计模式-桥接模式

    设计模式-桥接模式 定义 桥接模式(Bridge Pattern)也称为桥梁模式、接口(Interface)模式或...

网友评论

      本文标题:java设计模式07(桥接模式)

      本文链接:https://www.haomeiwen.com/subject/ufmlgqtx.html