发表时间:2015-05-27来源:网络
桥接模式:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?这就要使用桥接模式——将抽象部分与它的实现部分分离,使他们可以独立地变化。
UML类图:

角色介绍:
抽象化(AbstractRoad)角色:抽象化给出的定义,并保存一个对实现化对象的引用。
修正抽象化(SpeedWay)角色:扩展抽象化角色,改变和修正父类对抽象化的定义。
实现化(AbstractCar)角色:这个角色给出实现化角色的接口,但不给出具体的实现。必须指出的是,这个接口不一定和抽象化角色的接口定义相同,实际上,这两个接口可以非常不一样。
具体实现化(Bus)角色:这个角色给出实现化角色接口的具体实现。
代码体现:
icar->Run(); echo :在高速公路上。; }}/**乡村街道 * Class Street */class Street extends AbstractRoad{ function Run() { $this->icar->Run(); echo :在乡村街道上。; }}/**抽象汽车接口 * Interface ICar */interface ICar{ function Run();}/**吉普车 * Class Jeep */class Jeep implements ICar{ function Run() { echo 吉普车跑; }}/**小汽车 * Class Car */class Car implements ICar{ function Run() { echo 小汽车跑; }}
/------------------------桥接模式测试代码------------------require_once ./Bridge/Bridge.php;$speedRoad=new SpeedRoad();$speedRoad->icar=new Car();$speedRoad->Run();echo
1.如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的联系。
2.设计要求实现化角色的任何改变不应当影响客户端,或者说实现化角色的改变对客户端是完全透明的。
3.一个构件有多于一个的抽象化角色和实现化角色,系统需要它们之间进行动态耦合。
4.虽然在系统中使用继承是没有问题的,但是由于抽象化角色和具体化角色需要独立变化,设计要求需要独立管理这两者。
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
天天计算器app手机版下载v4.1.1 安卓官方版
12.7MB |系统工具
电博士app下载v7.5.0 安卓版
13.53M |生活服务
友邦友享最新版下载v6.9.22 安卓2025版
186.73M |生活服务
向日葵保险人app下载v7.18.0 免费安卓最新版本
42.69MB |生活服务
布丁扫描软件下载v3.5.3.0 安卓版
91.29M |系统工具
查规定软件下载v1.1.1 安卓版
37.36MB |商务办公
xrecorder录屏大师最新版app下载v2.4.4.7 安卓官方版
31.01MB |系统工具
族谱手机版下载v6.6.9 安卓免费版
70.74M |生活服务
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05