关闭

设计模式-结构型-bridge桥接

267人阅读 评论(0) 收藏 举报

1.意图

    将抽象部分与它的实现部分分离,使他们都可以独立的变化。

2.别名

   handle/body

3.动机

   当一个抽象可能有多个实现时,通常用继承来协调它们。抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。但是此方法有时不够灵活。继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立的进行修改、扩充和重用。

4.适用性

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

类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对他们进行扩充

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

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

正如在意图一节的第一个类图中所示的那样,有许多类要生成。这样一种类层次结构说
明你必须将一个对象分解成两个部分。R u m b a u g h称这种类层次结构为“嵌套的普化”
(nested generalizations)。
• 你想在多个对象间共享实现(可能使用引用计数),但同时要求客户并不知道这一点。
一个简单的例子便是C o p l i e n的S t r i n g类[ C o p 9 2 ],在这个类中多个对象可以共享同一个字
符串表示( S t r i n g R e p)。

 

http://www.cnblogs.com/houleixx/archive/2008/02/23/1078877.html

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:11795次
    • 积分:352
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:16篇
    • 译文:1篇
    • 评论:1条
    文章分类
    最新评论