设计模式学习----Bridge桥接模式

来源:互联网 发布:电话谋杀者结局知乎 编辑:程序博客网 时间:2024/05/16 23:28

Bridge模式的概念

 

Bridge模式是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承
等行为来让不同的类承担不同的责任。它的主要特点是把抽象abstraction与行为实现implementation分离
开来,从而可以保持各部分的独立性以及应对它们的功能扩展。

 

Bridge模式的应用场景

 

面向对象的程序设计里有类继承的概念,如果一个类或接口有多个具体实现子类,如果这些子类具有
以下特性:
存在相对并列的子类属性。
存在概念上的交叉。
可变性。
我们就可以用Bridge模式来对其进行抽象和具体,对相关类进行重构。

 

Bridge模式的类图描述

 

 

Client
    Bridge模式的使用者
Abstraction
    抽象类接口(接口或抽象类)
    维护对行为实现(Implementor)的引用
Refined Abstraction
    Abstraction子类
Implementor
    行为实现类接口 (Abstraction接口定义了基于Implementor接口的更高层次的操作)
ConcreteImplementor
    Implementor子类

 


Bridge模式的应用范例
我们来看看怎么应用Bridge模式来设计汽车类。

抽象 - Abstraction类:汽车类及其子类:
Car:汽车总类
Truck:汽车子类 - 卡车类。
Bus:汽车子类 - 公交车类。

行为实现 - Implementor:汽车引擎设置的行为类及子类
SetCarEngine:汽车引擎的设置接口
SetCarEngine1500cc:设置1500cc引擎
SetCarEngine2000cc:设置2000cc引擎

Client类:使用Bridge模式
Client:测试

代码:略

原创粉丝点击