设计模式C++实现(4)——桥接模式
生活随笔
收集整理的這篇文章主要介紹了
设计模式C++实现(4)——桥接模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
書上定義:將抽象部分與它的實現部分分離,使它們都可以獨立地變化。考慮裝操作系統,有多種配置的計算機,同樣也有多款操作系統。如何運用橋接模式呢?可以將操作系統和計算機分別抽象出來,讓它們各自發展,減少它們的耦合度。當然了,兩者之間有標準的接口。這樣設計,不論是對于計算機,還是操作系統都是非常有利的。下面給出這種設計的UML圖,其實就是橋接模式的UML圖
?
代碼如下:
#include <iostream>using namespace std;class OS { public:OS(){}virtual ~OS(){}virtual void InstalSyetem() =0; };class WindowOS : public OS { public:void InstalSyetem(){cout << "Wondow" << endl;} };class LinuxOS : public OS { public:void InstalSyetem(){cout << "Linux" << endl;} };class UnixOS : public OS { public:void InstalSyetem(){cout << "Unix" << endl;} };class Computer { public:Computer(){}virtual ~Computer(){}virtual void InstallOS(OS *os)=0; }; class DellComputer : public Computer { public:void InstallOS(OS *os){os->InstalSyetem();} };class AppleComputer : public Computer { public:void InstallOS(OS *os){os->InstalSyetem();} };class HPComputer : public Computer { public:void InstallOS(OS *os){os->InstalSyetem();} };int main() {OS *os1 = new WindowOS();OS *os2 = new LinuxOS();Computer *computer1 = new AppleComputer();computer1->InstallOS(os1);computer1->InstallOS(os2);return 0; }?
總結
以上是生活随笔為你收集整理的设计模式C++实现(4)——桥接模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式C++实现(3)——装饰模式
- 下一篇: 设计模式C++实现(5)——原型模式