2 Bridge

Davids 2025-08-10 05:10:12
Categories: > > Tags:

桥接模式:

将抽象和实现部分分离,使得他们都可以独立变化。(适应多个维度的变化)使用对象间的组合关系替换继承,抽象和实现可以沿着各自的维度变化(类似于多继承)。(其实就是功能划分,主体类中一部分功能需要变化时,重新建一个实现类进行组合,减少主体类的变化维度)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 主体类
class Abstraction {
public:
// 将变化性强 且 与主体类主要职责不相符的依赖 用组合进行联系。
// 并不依赖基类,可以独自演化
virtual void DoSomething(){
// 是不同的职责
abstractionImp->DoOtherSomething();
};
virtual ~Abstraction(){}
protected:
AbstractionImp* abstractionImp;
};

// 桥接类
class AbstractionImp {
public:
virtual void DoOtherSomething() = 0;
};