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

优惠券领取网站开发开发app需要多久

优惠券领取网站开发,开发app需要多久,专业网站推广引流,好看的学校网站模板免费下载往期回顾 C常用23种设计模式总结(一)------单例模式 C常用23种设计模式总结(二)------观察者模式 什么是装饰模式 装饰模式是一种结构型设计模式,它允许你在运行时为对象动态添加新的行为。该模式通过将对象放入包装器中来实现这一点,这个包装器会实现与…

往期回顾
C++常用23种设计模式总结(一)------单例模式
C++常用23种设计模式总结(二)------观察者模式

什么是装饰模式

装饰模式是一种结构型设计模式,它允许你在运行时为对象动态添加新的行为。该模式通过将对象放入包装器中来实现这一点,这个包装器会实现与被包装对象相同的接口,并且会将所有方法的调用委派给被包装对象。同时,包装器还可以定义一些额外的行为,例如添加新的方法或修改现有方法的行为。

装饰模式的主要优点是它允许你在不修改现有代码的情况下扩展对象的功能。这使得代码更加灵活和可维护,因为你可以通过添加新的装饰器来实现新的功能,而不必修改现有的代码。此外,装饰模式还遵循开闭原则,因为它允许你在不修改现有代码的情况下添加新的功能。

然而,装饰模式也有一些缺点。首先,由于每个装饰器都需要实现与被包装对象相同的接口,因此可能会导致类的数量增加。此外,由于装饰器可以嵌套,因此可能会导致代码变得复杂和难以理解。最后,装饰模式可能会导致性能下降,因为每个方法调用都需要经过多个装饰器的处理。

参考代码

#include <iostream>// 抽象组件
class Component {
public:virtual void operation() = 0;
};// 具体组件
class ConcreteComponent : public Component {
public:void operation() override {std::cout << "具体组件的操作" << std::endl;}
};// 抽象装饰器
class Decorator : public Component {
public:Decorator(Component* comp) : component(comp) {}void operation() override {if (component != nullptr) {component->operation();}}
protected:Component* component;
};/*续写*/// 具体装饰器A
class ConcreteDecoratorA : public Decorator {
public:ConcreteDecoratorA(Component* comp) : Decorator(comp) {}void operation() override {Decorator::operation();std::cout << "具体装饰器A的操作" << std::endl;}
};// 具体装饰器B
class ConcreteDecoratorB : public Decorator {
public:ConcreteDecoratorB(Component* comp) : Decorator(comp) {}void operation() override {Decorator::operation();std::cout << "具体装饰器B的操作" << std::endl;}
};int main() {Component* component = new ConcreteComponent();Component* decoratorA = new ConcreteDecoratorA(component);Component* decoratorB = new ConcreteDecoratorB(decoratorA);decoratorB->operation();delete decoratorB;delete decoratorA;delete component;return 0;
}

运行结果

具体组件的操作
具体装饰器A的操作
具体装饰器B的操作
http://www.yayakq.cn/news/871405/

相关文章:

  • 利用博客做网站域名怎么拿来做网站
  • 福州网站建设招聘信息网站建设 项目要求
  • 建设部国家标准网站thinkphp 做门户网站
  • 浙江省住建和城乡建设厅官方网站闲鱼怎么做钓鱼网站
  • 长沙公司建设网站展陈公司排名
  • 石化建设分会网站禁用wordpress自动保存插件
  • 如何用自己电脑做网站服务器wordpress 小说多站
  • 网站买空间的价格专业做招商的公司
  • 广州专业做外贸网站建设做非经营网站需要营业执照
  • 丹阳做网站的公司wordpress 用什么语言
  • 凭祥网站建设wordpress发布文章 自定义栏目
  • 杨庄网站建设前端开发培训要多少钱
  • 做网站不带优化的吗庆阳手机网站设计
  • 域名和网站建设费如何入帐网络服务包括哪些内容
  • wordpress用网站测速百度广告费用
  • 汕头自助建站求一个旅游网站的代码
  • 学校做好网站建设目的app官方免费下载
  • 网站技术培训华升建设集团有限公司网站
  • 江门免费建站公司服务营销包括哪些内容
  • 网站设计毕业设计题目公司seo营销
  • 电子商务网站软件建设的核心是常用python编程软件
  • 包头市住房和城乡建设局官方网站邹城做网站
  • 最好网站制作工具百度如何提交网站
  • seo短视频网页入口引流网站深圳软件公司名录
  • 门户网站开发方案文档苏州门户网站
  • 外贸网站建设公司青岛免费的招标网站有哪些
  • 网站界面切片做程序山东营销网站建设设计
  • 网站建站和推广服务公司代理加盟网站建设公司
  • 灯饰网站源码成功案例展示网站
  • 腾讯云网站制作教程网站黑白了