桥接模式 Bridge
来源:互联网 发布:程序员的自我修养 git 编辑:程序博客网 时间:2024/06/05 18:08
意图:
将抽象部分与它的实现部分分离,使得它们都可以独立的变化。
结构:
上图结构中将抽象部分(CShape的子类型)与它的实现部分(画图程序)进行解耦,也就是让
将变化隔离开,仅仅是产生线性增加,那么桥接也就是分解。
代码:
class CShape{public: CShape(CShape* pd); virtual void draw()=0;protect: void drawLine(); void drawCircle();private: CDrawing * m_pd;}CShape::CShape(CShape *pd){ m_pd =dp;}void CShape::drawLine(){ m_pd->drawLine();}void CShape::drawCircle(){ m_pd->drawCircle();}class CRectangle:public CShape{public: CRectangle(CDrawing * pd):CShape(pd){}; void draw(){drawLine();}}class CCircle:public CShape{public: CCircle(CDrawing * pd):CShape(pd){}; void draw(){drawCircle();}}class CDrawing{public: virtual void drawCircle()=0; virtual void drawRectangle()=0;}class CDP1;class CDP2;class CV1Drawing:public CDrawing{public: void drawCircle(){ m_objDp1.drawACircle();} void drawRectangle(){m_objDp1.drawALine();}private: CDP1 m_objDp1;}class CV2Drawing:public CDrawing{public: void drawCircle(){ m_objDp2.drawCircle();} void drawRectangle(){m_objDp2.drawLine();}private: CDP2 m_objDp2;}总结:在需求定义的过程中,尽早,经常的研究变化,分解变化。
0 0
- Bridge桥接模式
- Bridge 桥接模式
- 桥接模式 Bridge
- Bridge 桥接模式
- Bridge桥接模式
- Bridge(桥接模式)
- Bridge桥接模式
- Bridge 桥接模式
- Bridge桥接模式
- Bridge(桥接模式)
- Bridge桥接模式
- 桥接模式--bridge
- Bridge 桥接模式
- 桥接模式(Bridge)
- 桥接模式(Bridge)
- bridge桥接模式
- 桥接模式 - Bridge
- Bridge桥接模式
- 机器学习笔记(一):梯度下降算法,随机梯度下降,正规方程
- 贴吧水笔你和我
- 自控力—凯利.麦格尼格尔—【读书笔记】
- 并查集
- 二、Unity Shader顶点变换总结
- 桥接模式 Bridge
- VTK7.1安装记录
- 指针与数组,指针与函数之间的关系
- MyEclipse集成开发环境配置
- 【Java】之 简易ArrayList
- 01 -【CentOS5.6_WebSphere8.5.5集群安装配置】- 安装InstalMgr
- setContentView(R.layout.xxx)出错
- 02 -【CentOS5.6_WebSphere8.5.5集群安装配置】- 安装WAS_ND_V8.5.5
- 如何使用svn