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

网页开发公司网站网站如何被收录情况

网页开发公司网站,网站如何被收录情况,跨境电商seo,wordpress调用分类标签链接:C 设计模式 链接:C 设计模式 - 装饰模式 桥接模式(Bridge Pattern)是一种结构型设计模式,它通过将抽象部分(业务功能)与实现部分(平台实现)分离,使它们…

链接:C++ 设计模式
链接:C++ 设计模式 - 装饰模式

桥接模式(Bridge Pattern)是一种结构型设计模式,它通过将抽象部分(业务功能)与实现部分(平台实现)分离,使它们可以独立变化。桥接模式的核心思想是将抽象与实现解耦,使得它们可以独立地扩展和变化。

1.问题分析

在开发中,我们经常遇到需要将抽象部分与其实现部分分离的情况,以便它们可以独立变化。例如:

  • 不同的任务(如巡逻、运输、侦查)可以使用不同的设备(如机器人、传感器)。
  • 不同的图形形状(如圆形、矩形)可以使用不同的绘制方式(如矢量图、位图)。

如果将抽象部分与实现部分紧密耦合在一起,当需要添加新的实现或新的抽象时,代码的修改和维护将变得非常复杂。桥接模式通过将抽象部分与实现部分分离,使它们可以独立变化,从而提高系统的灵活性和可扩展性。

2.实现步骤

  1. 定义实现接口:定义一个接口,描述实现部分的行为。
  2. 实现具体实现:实现具体实现类,提供不同的实现部分。
  3. 定义抽象类:定义一个抽象类,描述抽象部分的行为,并持有一个实现部分的引用。
  4. 实现具体抽象:实现具体抽象类,提供不同的抽象部分。
  5. 客户端代码:动态地组合不同的抽象部分和实现部分,并执行任务。

3.代码示例

以机器人的任务作为示例。

3.1.定义实现接口

// 机器人平台接口
class RobotPlatform {public:virtual ~RobotPlatform() = default;virtual void move() = 0;
};

3.2. 实现具体实现类

// 具体机器人平台1:四足机器人
class QuadrupedRobot : public RobotPlatform {public:void move() override { std::cout << "Moving as a quadruped robot." << std::endl; }
};
// 具体机器人平台2:轮式机器人
class WheeledRobot : public RobotPlatform {public:void move() override { std::cout << "Moving as a wheeled robot." << std::endl; }
};
// 具体机器人平台3:履带机器人
class TrackedRobot : public RobotPlatform {public:void move() override { std::cout << "Moving as a tracked robot." << std::endl; }
};

3.3. 定义任务抽象类

// 定义一个任务抽象类,描述机器人的任务行为,并持有一个机器人平台对象的引用
class Task {public:Task(std::shared_ptr<RobotPlatform> robotPlatform) : platform(robotPlatform) {}virtual void performTask() = 0;protected:std::shared_ptr<RobotPlatform> platform;
};

3.4. 实现具体的任务

// 具体任务1:巡逻
class Patrolling : public Task {public:Patrolling(std::shared_ptr<RobotPlatform> robotPlatform) : Task(robotPlatform) {}void performTask() override {std::cout << "Performing patrolling task." << std::endl;platform->move();}
};
// 具体任务2:运输
class Transporting : public Task {public:Transporting(std::shared_ptr<RobotPlatform> robotPlatform) : Task(robotPlatform) {}void performTask() override {std::cout << "Performing transporting task." << std::endl;platform->move();}
};
// 具体任务3:侦查
class Reconnaissance : public Task {public:Reconnaissance(std::shared_ptr<RobotPlatform> robotPlatform) : Task(robotPlatform) {}void performTask() override {std::cout << "Performing reconnaissance task." << std::endl;platform->move();}
};

3.5. 客户端代码

// 动态地组合不同的任务和机器人平台,并执行任务。
int main() {// 创建具体的机器人平台std::shared_ptr<RobotPlatform> quadrupedRobot = std::make_shared<QuadrupedRobot>();std::shared_ptr<RobotPlatform> wheeledRobot = std::make_shared<WheeledRobot>();std::shared_ptr<RobotPlatform> trackedRobot = std::make_shared<TrackedRobot>();// 创建具体的任务,并组合合理的机器人平台std::shared_ptr<Task> patrollingWithQuadruped = std::make_shared<Patrolling>(quadrupedRobot);std::shared_ptr<Task> transportingWithWheeled = std::make_shared<Transporting>(wheeledRobot);std::shared_ptr<Task> reconnaissanceWithTracked = std::make_shared<Reconnaissance>(trackedRobot);// 执行任务std::cout << "Patrolling with Quadruped Robot:" << std::endl;patrollingWithQuadruped->performTask();std::cout << "\nTransporting with Wheeled Robot:" << std::endl;transportingWithWheeled->performTask();std::cout << "\nReconnaissance with Tracked Robot:" << std::endl;reconnaissanceWithTracked->performTask();return 0;
}

4.总结

桥接模式和装饰模式的区别:

  • 桥接模式:将抽象部分与实现部分分离,使它们可以独立变化。它通过将抽象和实现放在不同的类层次结构中,并通过组合将它们连接起来,从而提高系统的灵活性和可扩展性。。
  • 装饰模式:动态地给对象添加职责,而不改变对象的接口。它通过创建一系列装饰器类来实现这些职责的扩展,从而在运行时灵活地扩展对象的功能。
http://www.15wanjia.com/news/166112.html

相关文章:

  • 郑州网站建设服务台州网站建设外包
  • 网站建设管理工作总结seo外链群发工具
  • 品牌型网站制作哪制作网站注册页面
  • 烟台好的网站设计公司平果县免费网站哪家好
  • 泰州网站建设定制阿里云建站视频
  • 婚介网站怎么做南昌如何做百度的网站
  • 做外贸不能访问国外网站怎么办iis wordpress 权限设置
  • 在屈臣氏做网站运营怎样申请微信公众号个人
  • 网站建设公司 上海濮阳网站建设 公司名字
  • 专门做肥料外贸的网站网站平台做推广
  • wordpress权限管理seo网站页面诊断
  • 重庆网站建设子沃科技公司网站备案流程何时改
  • 某集团中英文双语网站源码网游排行榜2021排行榜
  • 义乌做网站哪家好小说网页网站建设
  • 短网址生成网站如何自己制作二维码
  • 网站常用的优化方法有哪些wordpress微信同步
  • cms网站开发需要学什么建设网站物业经理上岗证陈俊华
  • 2015年全球网站优秀设计师vs210做网站
  • 游戏网站建设系统介绍商业网站的设计与推广系统
  • 网站开发 费用wordpress模板 户外钓鱼类网站
  • 网站做中文和英文切换wordpress 4.7.6
  • 班级网站素材下载网站如何做首面关键词
  • 镇江网站建设网站宁波网站开发制作
  • 广州积分入学网站广州门户网站制作公司
  • 公司网页网站建设+ppt模板下载阳泉住房建设局网站
  • 企业营销网站服务器1g够淘宝网站建设没法上传怎么办
  • Vs做的网站调试时如何适应网页宁波网站建设方案联系方式
  • 网站icp证明萝岗做网站
  • 单位做网站有哪些做一家开发网站的公司
  • 哪个网站美丽乡村做的比较好wordpress 缩略图质量