桥梁模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。实现分离的办法就是增加一个类,
#include <iostream> using namespace std; class AbstractionImp { public: virtual ~AbstractionImp(){} virtual void Operation(){} protected: AbstractionImp() { cout <<"AbstractionImp "<< endl; } }; class Abstraction { public: virtual void Operation()=0; virtual ~Abstraction(){} protected: Abstraction(){} }; class RefinedAbstraction :public Abstraction { public: RefinedAbstraction(AbstractionImp *imp) { _imp = imp; } ~RefinedAbstraction(){} void Operation() { _imp->Operation(); } private: AbstractionImp *_imp; }; class ConcreteAbstractionImpA:public AbstractionImp { public: ConcreteAbstractionImpA(){} ~ConcreteAbstractionImpA(){} virtual void Operation() { cout << "ConcreteAbstractionImpA"<< endl; } }; class ConcreteAbstractionImpB:public AbstractionImp { public: ConcreteAbstractionImpB() { cout<<"ConcreteAbstractionImB...."<<endl; } ~ConcreteAbstractionImpB(){} virtual void Operation() { } }; int main() { AbstractionImp* imp = new ConcreteAbstractionImpA(); Abstraction* abs = new RefinedAbstraction(imp); abs->Operation(); return 0; }
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182//操作系统 class IOS { public: IOS(){} virtual ~IOS(){} virtual void Run()=0; }; class CWindows : public IOS { public: CWindows(){} virtual ~CWindows(){} virtual void Run() { TRACE("[Window OS]!n"); } }; class CLinux : public IOS { public: CLinux(){} virtual ~CLinux(){} virtual void Run() { TRACE("[Linux OS]!n"); } }; //电脑品牌 class ICompute { public: ICompute(){} virtual ~ICompute(){} virtual void Install(IOS* pOS)=0; }; class CIBM : public ICompute { public: CIBM(){} virtual ~CIBM(){} virtual void Install(IOS* pOS) { TRACE("IBM compute install "); pOS->Run(); } }; class CHP : public ICompute { public: CHP(){} virtual ~CHP(){} virtual void Install(IOS* pOS) { TRACE("HP compute install "); pOS->Run(); } }; int main() { IOS* pW = new CWindows(); IOS* pL = new CLinux(); ICompute* pIBM = new CIBM(); pIBM->Install(pW); pIBM->Install(pL); return 0; }
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081相关知识
桥梁模式
周桥梁
融一知行:桥梁模拟实训设备
宠物心理调适师:揭秘人宠关系的守护者与桥梁
长城宠物展:链接中国宠物行业和世界的桥梁
宠物心理调整师人与宠物关系的关键桥梁
这些专为动物设计的桥梁和通道,拯救了无数生命
橙鹿优选:引领数字化革命,打造与科技的融合桥梁
微宠医:架起宠物医院和用户之间的“桥梁” 构建宠物健康管理生态圈
CHARM野性魅力——打造宠物与主人的情感桥梁
网址: 桥梁模式 https://m.mcbbbk.com/newsview229266.html
上一篇: 狗狗常见的口腔疾病有哪些 |
下一篇: 【每日一题 |