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

高青云速网站建设免费做logo

高青云速网站建设,免费做logo,网站建设需要几步,黄骅贴吧超市转租信息篇七#xff1a;“桥接模式#xff1a;连接抽象和实现” 开始本篇文章之前先推荐一个好用的学习工具#xff0c;AIRIght#xff0c;借助于AI助手工具#xff0c;学习事半功倍。欢迎访问#xff1a;http://airight.fun/。 另外有2本不错的关于设计模式的资料#xff0c…篇七“桥接模式连接抽象和实现” 开始本篇文章之前先推荐一个好用的学习工具AIRIght借助于AI助手工具学习事半功倍。欢迎访问http://airight.fun/。 另外有2本不错的关于设计模式的资料分享出来与大家学习参考。 链接https://pan.baidu.com/s/1RmhQF_o1CdK8U7s5KeILog?pwdxc6d 提取码xc6d 设计模式是软件开发中的重要组成部分桥接模式是结构型设计模式中的一种。桥接模式旨在将抽象与其实现相分离使它们可以独立地变化。通过桥接模式我们可以连接抽象和实现从而使得系统更加灵活和可扩展。在C中桥接模式广泛应用于处理抽象与实现分离的场景让我们一起介绍其原理和优势并提供C实现桥接模式的示例代码。 1. 桥接模式的原理和优势 桥接模式是结构型设计模式其原理在于将抽象与其实现相分离使它们可以独立地变化从而避免了抽象类与实现类之间的紧耦合关系。桥接模式使用了桥接Bridge接口来连接抽象和实现从而实现了它们的解耦。 桥接模式的优势包括 分离抽象和实现桥接模式将抽象与实现相分离使得它们可以独立地变化增加了系统的灵活性和可扩展性。提高代码可维护性由于抽象与实现分离系统更易于理解和维护修改抽象类不会影响实现类反之亦然。支持新增功能通过增加新的抽象类和实现类可以轻松地添加新的功能组合。 2. C中实现桥接模式的示例代码 a. 定义桥接接口 // DrawingAPI.h class DrawingAPI { public:virtual ~DrawingAPI() {}virtual void drawCircle(double x, double y, double radius) const 0; };b. 创建具体桥接实现类 // DrawingAPI1.h #include iostream #include DrawingAPI.hclass DrawingAPI1 : public DrawingAPI { public:void drawCircle(double x, double y, double radius) const override {std::cout API1.circle at x : y radius radius std::endl;} };// DrawingAPI2.h #include iostream #include DrawingAPI.hclass DrawingAPI2 : public DrawingAPI { public:void drawCircle(double x, double y, double radius) const override {std::cout API2.circle at x : y radius radius std::endl;} };c. 创建抽象类 // Shape.h #include DrawingAPI.hclass Shape { public:Shape(DrawingAPI* drawingAPI) : drawingAPI_(drawingAPI) {}virtual ~Shape() {}virtual void draw() const 0;protected:DrawingAPI* drawingAPI_; };d. 创建具体抽象类 // Circle.h #include Shape.hclass Circle : public Shape { public:Circle(double x, double y, double radius, DrawingAPI* drawingAPI): Shape(drawingAPI), x_(x), y_(y), radius_(radius) {}void draw() const override {drawingAPI_-drawCircle(x_, y_, radius_);}private:double x_;double y_;double radius_; };e. 使用桥接模式 // main.cpp #include Circle.h #include DrawingAPI1.h #include DrawingAPI2.hint main() {Circle circle1(1, 2, 3, new DrawingAPI1());Circle circle2(4, 5, 6, new DrawingAPI2());circle1.draw();circle2.draw();return 0; }在上述示例中我们定义了桥接接口DrawingAPI并创建了具体的桥接实现类DrawingAPI1和DrawingAPI2。然后我们定义了抽象类Shape其中包含一个对原理其中包含一个对DrawingAPI的引用以及纯虚函数draw()。接着我们创建了具体的抽象类Circle继承自Shape并在构造函数中传入具体的DrawingAPI实现类。在draw()方法中我们调用了DrawingAPI的drawCircle()方法从而连接了抽象和实现。 在main.cpp中我们创建了两个Circle对象分别使用不同的DrawingAPI实现类进行绘制。由于Circle和DrawingAPI之间通过桥接接口连接它们的关系是松耦合的因此可以轻松地切换和组合不同的实现类。 3. 桥接模式的代码解析 桥接模式通过桥接接口将抽象和实现相分离实现了抽象与实现之间的解耦。这使得系统更加灵活和可扩展提高了代码的可维护性和可复用性。抽象类通过桥接接口与具体的实现类关联并在抽象方法中调用实现类的方法从而将抽象和实现连接在一起。客户端可以使用不同的实现类来创建不同的抽象类对象从而实现不同的功能组合。 4. 总结 桥接模式是结构型设计模式其作用在于将抽象与实现相分离实现了抽象与实现之间的解耦。在C中通过定义桥接接口和具体实现类以及抽象类和具体抽象类实现了桥接模式的应用。桥接模式使得系统更加灵活和可扩展提高了代码的可维护性和可复用性。 希望本文能够帮助您更好地理解桥接模式的原理和优势并通过C的示例代码帮助您更好地应用桥接模式。在后续的专栏文章中我们将继续介绍更多设计模式的知识包括原理、详细介绍、示例代码和代码解析帮助您深入学习和应用设计模式。 参考文献 Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional.C Core Guidelines: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines 感谢您的阅读欢迎一起探讨共同进步推荐大家使用学习助手AIRight来解答学习过程中的问题访问链接http://airight.fun/
http://www.dnsts.com.cn/news/13792.html

相关文章:

  • 网站建设玖金手指谷哥十一.php是什么网站
  • 电子商务网站策划书布局设计flash网站推荐
  • 上海门户网站建设公司宝安建设工程交易服务网
  • 广东网站营销seo方案重庆市沙坪坝区
  • 银川网站建设哪家便宜创意图片
  • 帮做暑假作业网站在一个网站的各虚拟目录中默认文档的文件名要相同
  • 石家庄网站运营公司国外的网站建设
  • 上海网站建设咨询乔拓云的品牌推广方案
  • 做今网站网站开发用的是什么语言
  • 郑州网站建设方案360借条平台是合法的吗
  • 合作网站账号登录方式重庆市公共资源交易中心网
  • 烟台高新区规划国土建设局网站工作室图片
  • 怎么做自己的企业网站基于php的微网站开发
  • 电商 网站 备案在线平面设计师招募
  • 电商网页设计与制作东莞seo排名收费
  • 网站上的flash怎么做软装设计方案ppt模板
  • 如何给局域网 做网站温州公司网站开发
  • 郑州网站建设郑州苏州注册公司需要什么条件
  • 演示动画制作免费网站ui设计是怎么实现的
  • 浦东网站开发培训系统开发合同
  • 建设银行网站怎么登陆不了了wordpress的媒体选项
  • 微信网站开发详解建设网站后如何上线
  • 库尔勒网站建设价格平面设计好的网站
  • 怎么给自己的公司建立网站推广发布任务平台app下载
  • 免费看的logo图片网站seo优化步骤
  • 馆陶县网站重庆建站培训
  • 网站建设如何推广业务阿里邮箱 网站开发
  • vs 团队网站开发社保代缴网站开发
  • 做菠菜网站代理犯法吗关于旅游电子商务网站建设论文
  • 金属质感 网站网站推广销售腾讯会员被告怎么办