代码实验室
成长中的分析员,记录实验人生
C++博客
首页
新随笔
新文章
联系
聚合
管理
posts - 101, comments - 57, trackbacks - 0
今天终于搞明白了什么是Bridge模式
Bridge模式看过很多遍,说实话没看懂过。今天终于觉悟....
Bridge模式的定义是:将抽象和实现解耦。
这个定义是最让人费解的,抽象和实现解耦和Bridge有什么关系,特别是UML的图形给出来的时候更让我感觉到这个定义的匪夷所思。
下面来举个例子吧:
我很久前遇到的问题就是:写一个系统,当输入可能内存、文件.....而输出可能是内存、文件等等的时候。如果按照C接口的定义方式,你可能要做一下的定义。
MemToMem()
MemToFile()
FileToMem()
FileToFile()
一下就要定义2x2的接口,而如果在增加一个输入,那么就是2x3的接口,再增加同样的输出就是3x3的接口。
如果在C++里面,就是有双重的集成关系,首先是基类,然后是n中输入类,再来就是n^2个输出类。
所以Bridge模式要解决的就是这种变化关系。
Bridge模式的思想就是将n个输入类和n个输出类解耦(抽象和实现接口)让他们分别依赖自己的基类,而最终通过组合的方式让两者分离。
简单的代码
class
Input
{
public
:
virtual
void
Do()
=
0
;
private
:
OutPut pObj;
}
class
InMem :
public
Input
{
public
:
virtual
void
Do()
{
pObj
->
Out();
}
}
class
OutPut
{
virtual
void
Out()
=
0
;
}
class
outMem
{
virtual
void
Out()
{
//
do something
}
}
ps.此文档之作为技术的随笔,供以后搜索,如果疑问概不回答。
posted on 2010-07-31 18:26
margin
阅读(777)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
<
2010年5月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2011年5月 (5)
2011年4月 (1)
2011年3月 (1)
2011年1月 (1)
2010年12月 (3)
2010年11月 (2)
2010年10月 (6)
2010年9月 (5)
2010年8月 (5)
2010年7月 (4)
2010年6月 (1)
2010年5月 (1)
2010年4月 (1)
2010年3月 (2)
2009年12月 (1)
2009年11月 (1)
2009年10月 (7)
2009年9月 (5)
2009年8月 (5)
2009年7月 (1)
2009年6月 (3)
2009年5月 (7)
2009年4月 (1)
2009年3月 (6)
2009年2月 (3)
2009年1月 (4)
2008年12月 (7)
2008年11月 (6)
2008年10月 (6)
文章分类
C/C++(7)
Misc(2)
Pathon(4)
PHP
逆向工程(7)
数据结构 & 算法
文章档案
2012年9月 (1)
2010年4月 (2)
2010年1月 (2)
2009年11月 (2)
2009年9月 (1)
2008年10月 (1)
2008年8月 (1)
2008年5月 (1)
2008年4月 (3)
2008年3月 (4)
2007年8月 (3)
收藏夹
这里没有分类(1)
常去的坛子
CVC电脑病毒论坛
很多人说我是AV,我告诉他们:别瞧不起人,我们也能创造价值
安全焦点
黑客聚集的地方,一般是好酒最多的地方...
看雪论坛
国内最强的加密解密论坛,成醉其中经常夜不归宿
驱动开发论坛
厌倦了啤的朋友们,来我们来整点白的...痛痛快快的BSOD也好过隔鞋瘙痒!
我的朋友
Sen的blog
IDE方面资深的受害者...经常为一个变量的定义找不着北的痛苦程序员(深表同情)
老罗的blog
良师益友,千年水牛,引擎猛男,分析怪兽,墨镜酷哥,台球高手....
搜索
最新评论
1. re: xmlrpc搞定文件传输
sb
--爸