桥接模式 (建造者模式简化版)
桥接模式(Bridge Pattern)又称桥梁模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。使用组合关系代替继承关系,降低抽象和实现两个可变维度的耦合度。
例如
- 洗衣机:将电机,滚筒,和变频器抽象出来独立成类,然后创建一个洗衣机类引用这些部件类组合成新的类
- 公文包:将颜色和包类型独立成类,然后创建一个包类引用这些组件组合成一个新的类
桥接模式与建造者模式的区别
- 桥接模式 是使用现有类组件组合成一个新的产品类,不继承,也不需要一步一步进行设计对象属性就可以创建新对象。new 即可一步到位,组装已在构造函数内完成
- 建造者模式 也是组合现有的类组件,但是需要通过一步一步的指挥设置创建新产品对象。需要不停的调用内置的set方法组装零件。
- 主要区别: 建造者组合现有类,一步一步指挥创建新产品对象。而桥接模式是通过组合现有类创建新产品对象
桥接模式与抽象工厂模式的配合
这两个模式可以组合使用,比如部件类实例的创建可以结合抽象工厂模式,因为部件类实例也属于一个产品类簇,明显属于抽象工厂模式的适用范围,如果创建的部件类不多,或者比较简单,也可以使用简单工厂模式