<b>计划情势的解析和实现(C++)之七-Bridge情势</b>[VC/C++编程]
本文“<b>计划情势的解析和实现(C++)之七-Bridge情势</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
作用:
将抽象部份与它的实现部份别离,使它们都可以独立地改变.
UML构造图:
抽象基类:
1)Abstraction:某个抽象类,它的实现方法由Implementor完成.
2)Implementor:实现类的抽象基类,定义了实现Abastraction的基本操作,而它的派生类实现这些接口.
接口函数:
1)Implementor::OperationImpl:定义了为实现Abstraction需求的基本操作,由Implementor的派生类实现之,而在Abstraction::Operation函数中按照差别的指针多态调用这个函数.
解析:
Bridge用于将表示和实现解耦,二者可以独立的改变.在Abstraction类中保护一个Implementor类指针,需求采取差别的实现方法的时刻只需求传入差别的Implementor派生类便可以了.
Bridge的实现方法其实和Builde非常的相近,可以这么说:本质上是一样的,只是封装的东西不一样罢了.二者的实现都有以下的共同点:抽象出来一个基类,这个基类里面定义了共有的一些行为,形成接口函数(对接口编程而不是对实现编程),这个接口函数在Buildier中是BuildePart函数在Bridge中是OperationImpl函数;其次,聚合一个基类的指针,如Builder情势中Director类聚合了一个Builder基类的指针,而Brige情势中Abstraction类聚合了一个Implementor基类的指针(优先采取聚合而不是担当);而在利用的时刻,都把对这个类的利用封装在一个函数中,在Bridge中是封装在Director::Construct函数中,因为装配差别部份的历程是一致的,而在Bridge情势中则是封装在Abstraction::Operation函数中,在这个函数中调用对应的Implementor::OperationImpl函数.就两个情势而言,Builder封装了差别的生成构成部份的方法,而Bridge封装了差别的实现方法.
因此,假如以一些最基本的面向对象的计划原则来解析这些情势的实现的话,还是可以看到很多共同的地方的.
以上是“<b>计划情势的解析和实现(C++)之七-Bridge情势</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |