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

加强网站备案管理专项行动竞价推广账户托管服务

加强网站备案管理专项行动,竞价推广账户托管服务,农业信息网站 建设,理解网络营销型网站的建设本文章属于专栏- 概述 - 《设计模式(极简c版)》-CSDN博客 模式说明: 方案: 装饰类和派生类同根,然后装饰类中放一个派生类,以在接口不动的情况下增加功能优点: 可以灵活地扩展对象功能&#xf…

         本文章属于专栏- 概述 - 《设计模式(极简c++版)》-CSDN博客


模式说明

  • 方案: 装饰类和派生类同根,然后装饰类中放一个派生类,以在接口不动的情况下增加功能
  • 优点: 可以灵活地扩展对象功能,相比继承更易读。
  • 缺点: 增加了许多小对象,易于出错,不易调试。

本质思想: 派生类和装饰类都继承Base,然后装饰器类中放一个Base指针,存派生类。这样装饰器类和派生类可以放一个数组中,调用相同接口,这样部分类的功能看起来像被装饰了。前面是核心思想,基于这个再扩展,很容易基于装饰器加装饰器,或者把有相似接口的装饰器抽象出一个装饰器基类。

实践建议

  • 注意组合关系,确保装饰器和被装饰对象之间的接口一致。
  • 装饰器的功能应该是可组合的,可叠加的。

代码示例

#include <iostream>// Component Interface
class Bird {
public:virtual void fly() const = 0;
};// Concrete Component
class Sparrow : public Bird {
public:void fly() const override {std::cout << "Sparrow is flying." << std::endl;}
};// Concrete Decorator
class RedFeatherDecorator : public Bird {
private:Bird *bird;public:explicit RedFeatherDecorator(Bird *b) : bird(b) {}void fly() const override {bird->fly();std::cout << "With red feathers." << std::endl;}
};int main() {Bird *sparrow = new Sparrow();Bird *redSparrow = new RedFeatherDecorator(sparrow);redSparrow->fly();/* 
输出:Sparrow is flying.With red feathers.
*/delete sparrow;delete redSparrow;return 0;
}

http://www.yayakq.cn/news/682529/

相关文章:

  • 移动wap网站大连公司
  • 济宁网站建设_云科网络网站底部版权代码
  • 怎么用ip做网站重庆网红打卡景点排行榜
  • 仙游县住房和城乡建设局网站可以安装两个wordpress
  • 网站开发完整视频美容医疗手机网站模板
  • 乐陵网站服务在哪一条莆田网站建设方案报价
  • 网站建设开发多少钱企业咨询公司是干嘛的
  • 想看别人的wordpress博客网站广州公司网站制作公司
  • 赤峰网站设计公司做软件网站
  • 企业门户网站建设咨询wordpress个性
  • 江苏住房与城乡建设厅网站林云seo博客
  • 应用大全网站建设厅证书查询
  • 公司做网站哪里好app开发制作公司排行榜
  • 把asp.net写的网站别人怎么访问做网站的服务器还需要空间吗
  • 怎么做全网小说网站企业网站建设招标
  • 免费建站网站建设长沙专业建设网站企业
  • 网站解除域名绑定免费直播sdk
  • 网站做背景不显示三星网上商城app
  • 网页设计网站怎么放到域名里做游戏的外包网站
  • 中英文网站英文虹口房产网站建设
  • 网站策划与设计(网站做视频流量赚钱吗
  • 网站做301对优化有影响澄海手工外发加工网
  • 网站配色教程wordpress酷站
  • 网站链接交换南京本地网站有哪些
  • 网站被降权公司静态网站模板下载
  • 石家庄网站推广方案如何做淘宝网网站域名
  • 常州网站建设设计网站平台开发与应用面试
  • 厦门网站建设系统网站流量是怎么赚钱的
  • 常平小学网站建设设计公司算什么企业
  • 茶楼网站源码做网站花了三万块