设计模式之桥接模式
来源:互联网 发布:梦幻西游 for mac 编辑:程序博客网 时间:2024/05/29 15:48
http://www.cnblogs.com/jiese/p/3164940.html
桥接模式
特点:
多对多的关系(多维元素在变化),仅用继承实现不太合理。Bridge用于将表示和实现解耦,两者可以独立的变化.
角色:
Abstraction::Operation():定义要实现的操作接口。在Abstraction类中维护一个Implement类指针(成员变量),需要采用不同的实现方式的时候只需要传入不同的Implement派生类就可以了。
Implement::OperationImp()
RefinedAbstraction::Operation()
ConcreteImplement::OperationImp()
桥接就是实现Operation()的定义(在Abstraction中)和Operation()的实现(在Implement中)实现解耦和。
class Engine;class Car{//Abstractionpublic:Car(Engine* en){m_en=en;}virtual void installEngine()=0;protected:Engine* m_en;};class Engine{//Implementpublic:virtual void InstallEngine()=0;};class Engine4400:public Engine{//ConcreteImplementpublic:void InstallEngine(){cout<<"Install 4400 engine."<<endl;} };class Engine4300:public Engine{public:void InstallEngine(){cout<<"Install 4300 engine."<<endl;} };class BM:public Car{//RefinedAbstractionpublic:BM(Engine* en):Car(en){}//子类的构造函数void installEngine(){cout<<"we are BM."<<endl;m_en->InstallEngine();}};class Jeep:public Car{public:Jeep(Engine* en):Car(en){}//子类的构造函数void installEngine(){cout<<"we are Jeep."<<endl;m_en->InstallEngine();}};
int main(){Car* car=NULL;Engine* p=NULL;p=new Engine4400;car=new BM(p);car->installEngine();delete car;delete p;cout<<"-----------------------------"<<endl;p=new Engine4300;car=new Jeep(p);car->installEngine();delete p;delete car;return 0;}
0 0
- 设计模式之桥接模式
- C# 设计模式 之 桥接模式
- c#设计模式之[桥接模式]
- 设计模式之桥接模式
- 设计模式之-Bridge-- 桥接模式
- 设计模式之桥接模式
- 设计模式之桥接模式
- 设计模式之Bridge(桥接模式)
- 设计模式之桥接模式
- 设计模式之Bridge(桥接模式)
- 设计模式之桥接模式BridgePattern
- C# 设计模式之桥接模式
- 设计模式之桥接模式
- 设计模式之桥接模式
- Java 设计模式 之 桥接模式
- Java 设计模式 之 桥接模式
- Java 设计模式 之 桥接模式
- 设计模式之桥接模式
- JAVA并发编程--Semaphore、CountDownLatch、ReentrantLock、CyclicBarrier
- {题解}[jzoj4489] GDOI2016 Day2_T1 SigemaGo
- JSON net.sf.jason使用
- Fresco 使用要点(不定期更新)
- 自学宝典:10个学习Android开发的网站推荐
- 设计模式之桥接模式
- UVA 10791 Minimum Sum LCM(质因子问题)
- vlc代码分析(4)——mpgv的demux
- 2016"百度之星" - 资格赛 Problem D
- Android如何将图片上传到七牛云存储
- 又一次造轮子-C++栈(泛型编程)
- Storyboard学习六(ScrollView)
- volatile关键字
- bzoj 3571: [Hnoi2014]画框 最优乘积匹配