美文网首页
设计模式(七):桥梁模式

设计模式(七):桥梁模式

作者: 何笙 | 来源:发表于2019-05-08 18:19 被阅读0次

桥梁模式(Bridge)

将抽象与实现解耦,使它们都可以独立的变化。

主要解决: 桥梁模式完全是为了解决继承的缺点而提出的设计模式。在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。

bridge

代码示例:

//颜色接口和实现
interface Color {
    public functino setColor() {};
}
class Red implements Color {
    public functino setColor() {
        return "red";
    }
}
class Black implements Color {
    public functino setColor() {
        return "black";
    }
}
//图形接口和实现
interface Shap {
    public function draw(x, y, z);
}
class Cirlce implements Shap {
    public function setIndex()
        return [x, y, z] ;     
    }
}
abstract AbstractDraw {
    private $color = '';
    private $shap = [0,0,0];
    public function setColor(interface Color){};
    public function setShap(interface Shap){};
    public function draw() {};
}
//画图
class Draw extends AbstractDraw{
    public function setColor(interface Color){
        $this->color = Color.setColor();
    }
    public function setShap(interface Shap){
        $this->shap = Shap.setIndex();
    }
    public function draw() {
        echo $this->color. 'x: ' . $this->shap[0] . 'y:' $this->shap[1] . 'z:' .$this->shap[2];
    }
}

相关文章

  • 设计模式(七):桥梁模式

    桥梁模式(Bridge) 将抽象与实现解耦,使它们都可以独立的变化。 主要解决: 桥梁模式完全是为了解决继承的缺点...

  • Android设计模式——桥接模式(七大结构型)

    1.桥接模式介绍 桥接模式(Bridge Pattern)也称为桥梁模式,是七大结构型设计模式之一。 2....

  • 3.桥梁模式 桥梁模式:桥梁模式是一个非常重要的模式,也是一个比较复杂的模式。熟悉这个模式对于理解面向对象的设计原...

  • 设计模式-桥梁模式

    桥梁模式是为了解决将抽象部分与实现部分分离,好让他们都在自己的维度上有多维度地变化。 为了充分理解上面的含义,举个...

  • 设计模式-桥接模式

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

  • 设计模式十--桥梁模式

    定义 将抽象和实现解耦,使得两者可以独立的变化 角色 1:抽象化角色(Abstraction)该角色抽象化给出的定...

  • 设计模式之桥梁模式

    桥梁模式的定义 桥梁模式(Bridge Pattern)也叫做桥接模式,是一个比较简单的模式,其定义如下: Dec...

  • 设计模式15:桥梁模式

    桥梁模式(Bridge DP)的定义是:解耦抽象与实现,让两者能够分别变化。桥梁模式的名字可能有一点费解,为什么是...

  • Android 桥接模式

    Android 23种设计模式 一、前言 Android桥接(Bridge)模式,又被称为桥梁模式。结构型模式之一...

  • 二十三种设计模式包括工厂模式、建造者模式、工厂方法模式、原始模型模式、单例模式、适配器模式、桥梁模式、合成模式、装...

网友评论

      本文标题:设计模式(七):桥梁模式

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