博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
桥接模式
阅读量:5299 次
发布时间:2019-06-14

本文共 1083 字,大约阅读时间需要 3 分钟。

一、概述

1、桥接模式将抽象部分与它的实现部分分离,使它们都可以独立的变化。

2、在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,桥接模式把这种多维度分离出来,让他们独立变化,减少之间的耦合。

感觉桥接模式的结构有点像抽象工厂模式,但桥接模式属于结构型模式,而抽象工厂模式属于创建型模式。

3、UML

 

4、所属类别:结构型

二、C++程序

和抽象工厂中的例子保持一致,这里还以linux、windows系统、手机、电脑为例

1 // 桥接模式.cpp : 定义控制台应用程序的入口点。 2 // 3  4 #include "stdafx.h" 5 #include
6 using namespace std; 7 class Ruanjian 8 { 9 public:10 Ruanjian(){}11 ~Ruanjian(){}12 virtual void OS()=0;13 };14 class Linux :public Ruanjian15 {16 public:17 Linux(){}18 virtual ~Linux(){}19 virtual void OS()20 {21 cout<<"我运行的是Linux系统"<
OS();55 }56 };57 class Phone:public Yingjian58 {59 private:60 Ruanjian * software;61 public:62 Phone(Ruanjian* r)63 {64 software=r;65 }66 virtual ~Phone(){}67 virtual void run()68 {69 cout<<"我是一个Phone";70 software->OS();71 }72 };73 74 int _tmain(int argc, _TCHAR* argv[])75 {76 Linux* l=new Linux();77 Phone *p=new Phone(l);78 p->run();79 return 0;80 }

 

转载于:https://www.cnblogs.com/bewolf/p/4252854.html

你可能感兴趣的文章
求职秘籍-简历制作?
查看>>
用配置文件里面的参数值替换yaml模板中的变量值【python】
查看>>
Linux自动输入密码登录用户
查看>>
kvm虚拟机操作相关命令及虚拟机和镜像密码修改
查看>>
全球项目多区域数据同步问题解决方案
查看>>
spring boot jpadata 使用
查看>>
BZOJ1208[HNOI2004]宠物收养场——treap
查看>>
nodejs vs python
查看>>
poj-1410 Intersection
查看>>
艰难中前行
查看>>
[pytorch学习]1.pytorch ubuntu安装
查看>>
阿里云CentOS 安装配置ASPNET Core
查看>>
repeater 分页显示数据
查看>>
HDU-3666 THE MATRIX PROBLEM
查看>>
鼠标悬停放大图片 - 漂亮
查看>>
【转载】博士后了
查看>>
IDEA操作git的一些常用技巧
查看>>
Java多线程基础(一)
查看>>
TCP粘包拆包问题
查看>>
JAVA学习之开发环境配置
查看>>