1.意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化。2.动机 在抽象类与它的实现之间起到桥梁作用,使它们可以独立地变化。3.适用性不希望在抽象和它的实现部分之间有一个固定的绑定关系。这种情况可能是因为,在程序运行时刻实现部分可以被选择或切换 ...
1.意图
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
2.动机
在抽象类与它的实现之间起到桥梁作用,使它们可以独立地变化。
3.适用性
- 不希望在抽象和它的实现部分之间有一个固定的绑定关系。这种情况可能是因为,在程序运行时刻实现部分可以被选择或切换。
- 类的抽象以及它的实现部分都应该可以通过生成子类的方式加以扩充。这时桥接模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。
- 对一个抽象实现部分的修改的修改不应该对客户产生影响,即客户代码不必要重新编译。
- 对客户完全隐藏抽象的实现部分。C++中类的表示在类接口中是可见的。
- 有许多类要生成,这样一种类层次结构说明你必须将一个对象分解成两部分。
4.结构
5.代码实例
#include <memory>class AbstactionImpl;class Abstration{public: void virtual Operaion()=0; void virtual SetImpl(std::shared_ptr<AbstactionImpl>& pImpl)=0;protected: std::shared_ptr<AbstactionImpl> m_pImpl;};class RedefinedAbstration : public Abstration{public: void Operaion(); void SetImpl(std::shared_ptr<AbstactionImpl>& pImpl);};
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:Bridge(桥接)
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。