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

中小型网站建设价位深圳市住建局官网入口

中小型网站建设价位,深圳市住建局官网入口,哪家公司做直播间网站,公司有多少做网站目录 1、桥接模式#xff08;Bridge Pattern#xff09;含义 2、桥接模式应用场景 3、桥接模式的UML图学习 4、C实现桥接模式的示例 1、桥接模式#xff08;Bridge Pattern#xff09;含义 桥接模式是一种结构型设计模式#xff0c;它将抽象部分与实现部分分离#…目录 1、桥接模式Bridge Pattern含义 2、桥接模式应用场景 3、桥接模式的UML图学习 4、C实现桥接模式的示例 1、桥接模式Bridge Pattern含义 桥接模式是一种结构型设计模式它将抽象部分与实现部分分离使它们可以独立地变化。 2、桥接模式应用场景 1当你希望抽象部分和实现部分可以独立地扩展和变化时可以使用桥接模式。它可以让抽象部分和实现部分可以独立地进行演化而不会相互影响。 2当一个类存在多个维度的变化且每个维度都需要独立地进行扩展时可以考虑使用桥接模式。通过将每个维度的变化抽象为不同的继承层次结构然后通过桥接模式将这些继承层次结构连接起来可以灵活地组合不同的变化。 3当需要在运行时动态地选择或切换抽象部分和实现部分的关系时可以使用桥接模式。通过将抽象部分和实现部分解耦并通过组合的方式建立关联可以在运行时灵活地选择具体的实现。 4当希望对抽象部分和实现部分进行共享和复用时可以考虑使用桥接模式。通过将抽象部分和实现部分分离可以使它们可以独立地进行复用从而提高代码的可维护性和可扩展性。 总的来说桥接模式适用于抽象部分和实现部分需要独立演化、存在多个维度的变化、需要动态选择关系或希望进行共享和复用的场景。它可以提供更好的灵活性、可扩展性和可维护性。 3、桥接模式的UML图学习 在上述UML类图中有以下几个关键角色 Abstraction抽象类定义了抽象部分的接口并包含一个指向Implementor的成员变量。它的具体子类可以通过调用Implementor的方法来实现自己的操作。 Implementor实现类接口定义了实现部分的接口它通常只提供了一些基本的操作方法。 ConcreteImplementorA、ConcreteImplementorB具体实现类实现了Implementor接口具体实现了实现部分的操作方法。 RefinedAbstractionA、RefinedAbstractionB扩展抽象类继承自Abstraction并通过调用Implementor的方法来实现自己的操作。 在桥接模式中抽象部分和实现部分通过关联关系连接在一起而不是继承关系。这样可以使得抽象部分和实现部分可以独立地变化和演化。 4、C实现桥接模式的示例 #include iostream #include string// 实现接口 class Implementor { public:virtual void operationImpl() const 0; };// 具体实现类A class ConcreteImplementorA : public Implementor { public:void operationImpl() const override {std::cout ConcreteImplementorA: operationImpl std::endl;} };// 具体实现类B class ConcreteImplementorB : public Implementor { public:void operationImpl() const override {std::cout ConcreteImplementorB: operationImpl std::endl;} };// 抽象类 class Abstraction { protected:Implementor* m_implementor;public:Abstraction(Implementor* implementor) : m_implementor(implementor) {}virtual void operation() const 0; };// 扩展抽象类A class RefinedAbstractionA : public Abstraction { public:RefinedAbstractionA(Implementor* implementor) : Abstraction(implementor) {}void operation() const override {std::cout RefinedAbstractionA: ;m_implementor-operationImpl();} };// 扩展抽象类B class RefinedAbstractionB : public Abstraction { public:RefinedAbstractionB(Implementor* implementor) : Abstraction(implementor) {}void operation() const override {std::cout RefinedAbstractionB: ;m_implementor-operationImpl();} };int main() {// 创建具体实现类对象Implementor* implementorA new ConcreteImplementorA();Implementor* implementorB new ConcreteImplementorB();// 使用扩展抽象类A调用操作Abstraction* abstractionA new RefinedAbstractionA(implementorA);abstractionA-operation();// 使用扩展抽象类B调用操作Abstraction* abstractionB new RefinedAbstractionB(implementorB);abstractionB-operation();delete implementorA;delete implementorB;delete abstractionA;delete abstractionB;return 0; } 在上述示例中我们首先定义了实现接口Implementor其中包含了一个纯虚函数operationImpl()。然后我们实现了两个具体的实现类ConcreteImplementorA和ConcreteImplementorB它们分别继承自实现接口并实现了接口中的纯虚函数。 接着我们定义了抽象类Abstraction其中包含了一个指向实现接口的指针并声明了一个纯虚函数operation()。然后我们通过扩展抽象类ARefinedAbstractionA和扩展抽象类BRefinedAbstractionB来实现具体的抽象类它们分别继承自抽象类并实现了抽象类中的纯虚函数。 在主函数中我们创建了具体的实现类对象implementorA和implementorB然后通过扩展抽象类A和扩展抽象类B来调用操作。在调用操作时实际上会调用到具体的实现类中的具体函数。
http://www.sadfv.cn/news/155765/

相关文章:

  • 迅速上排名网站优化高青网站建设yx718
  • 抖音网站怎么做东莞品牌网站建设费用
  • 黄山建设网站公司电话号码wordpress开发登录插件
  • 网站域名备案 更改吗东莞市seo网络推广哪家好
  • 如何影响网站排名wordpress 匿名评论
  • 旅游网站开发建设方案东营房产网
  • 网站建设创业规划书手机网站建设最新报价
  • 戒赌网站怎么做网站开发 旅游
  • 荆门市网站建设大连网站设计公司
  • 开发小网站一般多少钱一个大良网站制作公司
  • 全国建设项目竣工验收公示网站开发网站做图文水印逻辑
  • 深圳百度网站推广ps网页设计培训班
  • 长沙注册公司核名网站手机哪个网站好
  • 甘肃省网站建设咨询苏州园区属于哪个区
  • 市场营销实务福建搜索引擎优化
  • 住房和城乡建设部网站干部学院站长工具在线平台
  • 汕头智能模板建站免费视频素材网站
  • 网站建设介绍ppt模板下载南充移动网站建设
  • 免费建站网站建设手机网站建立教程
  • 行远金华网站建设公司原神网页设计作业
  • 健身网站开发方式遵义网站搭建公司哪家好
  • 宝山网站建设 网站外包网站建设困难
  • 网站站外推广方式有哪些个人工作室项目
  • 网站开发用什么语言开发的wordpress分类目录添加报错_标签不能添加
  • 建设银行网站酒店网站如何做
  • 枣庄建设工程管理局网站wordpress导航功能
  • 专门做行业分析的网站北京网上注册公司流程
  • 站内seo怎么做标志设计论文
  • 网站建设佰首选金手指二七负责公司网站产品的开发及整理
  • 个人网站域名怎么起网站备案后更换主机