当前位置: 首页 > news >正文

怎么自己制作属于自己的网站爱站网长尾关键词搜索

怎么自己制作属于自己的网站,爱站网长尾关键词搜索,沧州企业网站优化,中央经济工作会议什么时候开目录 C设计模式-桥接(Bridge) 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-桥接(Bridge) 一、意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 二、适用性 你不希望在抽象和它…

目录

C++设计模式-桥接(Bridge)

一、意图

二、适用性

三、结构

四、参与者

五、代码


C++设计模式-桥接(Bridge)

一、意图

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

二、适用性

  • 你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。
  • 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。
  • 对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。
  • (C++)你想对客户完全隐藏抽象的实现部分。在C++中,类的表示在类接口中是可见的。
  • 有许多类要生成。这样一种类层次结构说明你必须将一个对象分解成两个部分。Rumbaugh称这种类层次结构为“嵌套的普化”(nested generalizations )。
  • 你想在多个对象间共享实现(可能使用引用计数),但同时要求客户并不知道这一点。一个简单的例子便是Coplien的String类[Cop92],在这个类中多个对象可以共享同一个字符串表示(S tringRep)。

三、结构

 

四、参与者

  • Abstraction

        定义抽象类的接口。

        维护一个指向Implementor类型对象的指针。

  • RefinedAbstraction

        扩充由Abstraction定义的接口。

  • Implementor

        定义实现类的接口,该接口不一定要与Abstraction的接口完全一致;事实上这两个接口可以完全不同。一般来讲,Implementor接口仅提供基本操作,而Abstraction则定义了基本这些基本操作的较高层次的操作。

  • ConcreteImplementor

        实现了Implementor接口并定义它的具体实现。

五、代码

#include<iostream>
using namespace std;class Implementor {
public:virtual void OperationImp() = 0;
};class ConcreteImplementorA : public Implementor {
public:virtual void OperationImp() {cout << "Concrete Implementor A" << endl;}
};class ConcreteImplementorB : public Implementor {
public:virtual void OperationImp() {cout << "Concrete Implementor B" << endl;}
};class Abstraction {
public:virtual void Operation() = 0;
};class RefinedAbstraction : public Abstraction {
public:RefinedAbstraction(Implementor* TempImplementor) {this->implementor = TempImplementor;}void Operation() {implementor->OperationImp();}
private:Implementor* implementor;
};int main() {Implementor* implementorA = new ConcreteImplementorA;Abstraction* abstractionA = new RefinedAbstraction(implementorA);abstractionA->Operation();Implementor* implementorB = new ConcreteImplementorB;Abstraction* abstractionB = new RefinedAbstraction(implementorB);abstractionB->Operation();return 0;
}

http://www.shuangfujiaoyu.com/news/60103.html

相关文章:

  • 动易政府网站模板站牛网是做什么的
  • 建设个普通的网站得多少钱百度推广登录首页官网
  • 胶州做网站谷歌浏览器在线入口
  • 做设计网上揽活哪个网站最好成都网络优化托管公司
  • 做网站要不要花钱做店长厦门关键词优化平台
  • 自己做网站好做吗小广告网页
  • 我想建个赌博网站怎么建域名百度首页入口
  • 广州大型网站建设公司常宁seo外包
  • 电信专线可以做网站吗福州搜索排名提升
  • 建设网站成本百度站长工具怎么关闭教程视频
  • 网站做seo安全吗seo百度站长工具
  • 手机网站首页怎么做互联网运营
  • 做家居的网站医疗器械龙头股
  • 个人代做网站石家庄seo优化公司
  • 黑人与白人做爰网站百度知道合伙人
  • 石家庄做网站建设的公司哪家好谷歌推广平台
  • 网站建设情况域名注册查询网站
  • 大兴网站开发网站建设百度学术论文查重官网入口
  • 全网营销网站怎么做网站发稿平台
  • 网站建设 宣传seo排名课程咨询电话
  • 怎么做百度提交入口网站企业邮箱申请
  • ppt模板大全免费下载网站百度服务电话
  • 挂甲寺网站建设如何营销推广
  • 网站开发好公司seo网站推广免费
  • 运城网站建设价格商丘网站建设公司
  • 山东网站优化网络小说网站三巨头
  • 网络营销是什么的一项活动seo咨询服务
  • 海外做淘宝网站推广哪些app最挣钱
  • 做资源网站模板网站哪个好
  • 网站建设 软件开发的公司哪家好企业推广的渠道有哪些