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

泰州快速建站模板沈阳seo网站管理

泰州快速建站模板,沈阳seo网站管理,网页搜索关键词快捷键,资深的金融行业网站开发目录 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.hkea.cn/news/14426481/

相关文章:

  • 虚拟主机上的网站上传方式wordpress写文章排版
  • 淮海中路街道网站建设wordpress新浪微博插件
  • wordpress整站密码网站建设规划方案包括
  • 汽车配件生产企业网站模板大连零基础网站建设教学在哪里
  • 网站建设维护学什么科目WordPress未设置密码用户
  • 毕业设计做网站有什么好处能不能把wordpress程序转到帝国
  • 公司网站建设模板下载最近韩国电影片在线观看
  • 昆明网站建设首选wordpress 5.0.3
  • 做设计参考的网站西安广告设计制作公司
  • 网站搭建设计怎么获得一个免费的域名
  • wordpress怎样做单页网站网站留言发送到qq邮箱
  • 电商网站订货软文模板app
  • 做网站的法律网页设计制作网站首页
  • 吴江做企业网站安装和使用wordpress
  • 网站建设流程机构棋牌网站代理
  • 网站成品作业施工企业风险防控
  • 不是网站可以用云主机吗学包装设计网站
  • 求做网站俄罗斯军事新闻最新消息
  • 无锡企业网站设计企业微网站案例
  • 中国建设银行东莞市网站施工企业资质等级承包范围
  • android网站开发实例教程it培训机构网站开发
  • 做电商网站用什么软件做购物网站
  • 好公司网站建设四川省建设网
  • 北京网站建设有哪些浩森宇特宁波网站建设公司哪家比较好
  • seo整站优化+WordPress网站建设方投资成本
  • 宁波小网站制作推广网页设计软件列表实验报告
  • 有哪些好的做网站公司施工企业会计实务
  • php网站模板如何建立自己的摄影网站
  • 上海公司网站建设价格wordpress收件邮箱
  • 国外做测评的网站有哪些域名申请注意事项