设计模式C++实现--桥接模式
来源:互联网 发布:侠客风云传优化怎么样 编辑:程序博客网 时间:2024/05/30 02:24
[DP]书上定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑装操作系统,有多种配置的计算机,同样也有多款操作系统。如何运用桥接模式呢?可以将操作系统和计算机分别抽象出来,让它们各自发展,减少它们的耦合度。当然了,两者之间有标准的接口。这样设计,不论是对于计算机,还是操作系统都是非常有利的。下面给出这种设计的UML图,其实就是桥接模式的UML图。
给出C++的一种实现:
- //操作系统
- class OS
- {
- public:
- virtual void InstallOS_Imp() {}
- };
- class WindowOS: public OS
- {
- public:
- void InstallOS_Imp() { cout<<"安装Window操作系统"<<endl; }
- };
- class LinuxOS: public OS
- {
- public:
- void InstallOS_Imp() { cout<<"安装Linux操作系统"<<endl; }
- };
- class UnixOS: public OS
- {
- public:
- void InstallOS_Imp() { cout<<"安装Unix操作系统"<<endl; }
- };
- //计算机
- class Computer
- {
- public:
- virtual void InstallOS(OS *os) {}
- };
- class DellComputer: public Computer
- {
- public:
- void InstallOS(OS *os) { os->InstallOS_Imp(); }
- };
- class AppleComputer: public Computer
- {
- public:
- void InstallOS(OS *os) { os->InstallOS_Imp(); }
- };
- class HPComputer: public Computer
- {
- public:
- void InstallOS(OS *os) { os->InstallOS_Imp(); }
- };
客户使用方式:
- int main()
- {
- OS *os1 = new WindowOS();
- OS *os2 = new LinuxOS();
- Computer *computer1 = new AppleComputer();
- computer1->InstallOS(os1);
- computer1->InstallOS(os2);
- }
本人享有博客文章的版权,转载请标明出处 http://blog.csdn.net/wuzhekai1985
0 0
- 设计模式_桥接模式(C++)
- C#--设计模式之桥接模式
- 设计模式C++实现--桥接模式
- 设计模式---桥接模式(C++实现)
- 设计模式--单例模式 C++实现
- 设计模式之桥接模式+适配器模式Java实现
- 设计模式 行为模式 命令模式 c语言 版本实现
- 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern)
- C语言和设计模式(桥接模式)
- C语言和设计模式(桥接模式)
- C语言和设计模式(桥接模式)
- C语言和设计模式(桥接模式)
- 08.C语言和设计模式(桥接模式)
- 19、C语言和设计模式(桥接模式)
- 设计模式——桥接模式(C++)
- 设计模式之桥接模式 及 c++ 实现
- 设计模式十一(桥接模式,python 语言实现)
- 大话设计模式--桥接模式 Bridge -- C++实现实例
- Yocto tips (9): Yocto 软件包的下载地址在哪
- 论文笔记——Mariana:Tencent Deep Learning Platform and its Applications
- 第一个程序
- 布尔值编辑风格-报表系统
- jq select操作全集
- 设计模式C++实现--桥接模式
- hdu 1158 Employment Planning
- Android PullToRefresh 分析之四、扩展RecyclerView
- Android版添加phonegap---为APP添加CNZZ统计插件教程
- Java NIO 随笔
- ERROR [block nbd5: Receive control failed (result -32)]
- DataTable转换成IList 【转载】
- 由PYTHONPATH谈起
- 修改Apache配置指定php配置文件php.ini的位置