温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在什么情况下使用Bridge模式

发布时间:2022-01-13 16:02:01 来源:亿速云 阅读:144 作者:iii 栏目:大数据

本篇内容主要讲解“在什么情况下使用Bridge模式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在什么情况下使用Bridge模式”吧!

 适用性

以下一些情况使用Bridge模式:

• 你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。

一般来讲,抽象类定义接口,具象类负责实现,而且实现功能的代码都是直接写在对应的方法里,这就是所谓的绑定。桥接模式将实现部分独立成单独的类之后,可以简单地被替换。

• 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge

式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。

可以多个接口类使用同一个实现类,也可以一个接口类切换使用多个实现类。

• 对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。

可以实现运行时替换实现类的实例,动态改变类的行为。


• (C++)你想对客户完全隐藏抽象的实现部分。在C++中,类的表示在类接口中是可见的。

很多时候,C++的头文件或多或少的会存在一些和实现相关的数据成员,使用桥接模式之后这部分内容都被移动到实现类的具象类中,结果上隐藏了实现的细节。


• 正如在意图一节的第一个类图中所示的那样,有许多类要生成。这样一种类层次结构说明你必须将一个对象分解成两个部分。 Rumbaugh称这种类层次结构为“嵌套的普化”(nested generalizations)。

上一篇文章中作者也提到,类的功能出现了排列组合,就说明需要将实现类从接口类中分离出来了。


• 你想在多个对象间共享实现(可能使用引用计数),但同时要求客户并不知道这一点。

一个简单的例子便是Coplien的String类[ Cop92 ],在这个类中多个对象可以共享同一个字符串表示(StringRep)。

共享的前提当然首先要将需要共享的部分独立出来。

到此,相信大家对“在什么情况下使用Bridge模式”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI