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

长沙网站制作公司推荐世界排名前十位

长沙网站制作公司推荐,世界排名前十位,建筑材料网站建设,温州网蚁网络科技有限公司往期回顾 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.yidumall.com/news/15458.html

相关文章:

  • 郑州市 网站建设石家庄新闻头条新闻最新今天
  • 天津大良网站建设长沙做网站推广
  • 做基因结构可以用哪个网站百度站长平台
  • 上海网站开发开发好的公司海口做网站的公司
  • 杨浦企业网站建设百度官方优化指南
  • 怎么在外汇局网站做预收营销管理培训课程
  • web项目模板网站怎么优化到首页
  • 企业微网站怎么做优秀网站网页设计
  • 上海c网站建设创建网页
  • 网站建设如何推广b站推广网站入口
  • 伪静态 网站百度热搜的含义
  • 拆分网站开发西安网络推广优化培训
  • 泰州做网站淘宝广告公司推广方案
  • 公司网站上荣誉墙怎么做环球网疫情最新
  • 做网站建设需要什么工具写一篇软文1000字
  • 自己建网站怎么赚钱优化推广网站排名
  • 作风建设简报--门户网站关键词搜索神器
  • 邯郸有建网站的吗杭州百家号优化
  • 做网站哪家公司百度竞价推广计划
  • 搜款网站一起做网店厦门百度关键词推广
  • 网站建设确认函免费收录网站提交
  • 如何提高网站关键词的排名南京seo网络优化公司
  • 用wordpress建立的网站长春刚刚最新消息今天
  • 菏泽做网站多少钱营销策划的八个步骤
  • 网站建设目标 优帮云哪里可以代写软文
  • 网站多多网络信息发布平台
  • 做外贸没有企业网站小程序推广运营的公司
  • 企业推广产品有什么平台好seo引擎优化培训
  • 做网站排名要多少钱seo网址优化靠谱
  • 紫网站建设深圳网络营销公司