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

海南省城乡建设厅网站产品外观设计收费标准

海南省城乡建设厅网站,产品外观设计收费标准,织梦网站做图床,商丘网格通一、概念 装饰模式是一种结构型设计模式#xff0c;允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 二、构造 部件#xff08;Component#xff09;声明封装器和被封装对象的公用接口。 具体部件#xff08;Concrete Component#xff09;类是…一、概念 装饰模式是一种结构型设计模式允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 二、构造 部件Component声明封装器和被封装对象的公用接口。 具体部件Concrete Component类是被封装对象所属的类。它定义了基础行为但装饰类可以改变这些行为。 基础装饰Base Decorator类拥有一个指向被封装对象的引用成员变量。该变量的类型应当被声明为通用部件接口这样它就可以引用具体的部件和装饰。装饰基类会将所有操作委派给被封装的对象。 具体装饰类Concrete Decorators定义了可动态添加到部件的额外行为。具体装饰类会重写装饰基类的方法并在调用父类方法之前或之后进行额外的行为。 客户端Client可以使用多层装饰来封装部件只要它能使用通用接口与所有对象互动即可。 三、应用场景 class Component { public:virtual ~Component() {}virtual std::string Operation() const 0; };class ConcreteComponent : public Component { public:std::string Operation() const override {return ConcreteComponent;} };class Decorator : public Component { protected:Component* component_;public:Decorator(Component* component) : component_(component) {}std::string Operation() const override {return this-component_-Operation();} };class ConcreteDecoratorA : public Decorator { public:ConcreteDecoratorA(Component* component) : Decorator(component) {}std::string Operation() const override {return ConcreteDecoratorA( Decorator::Operation() );} };class ConcreteDecoratorB : public Decorator { public:ConcreteDecoratorB(Component* component) : Decorator(component) {}std::string Operation() const override {return ConcreteDecoratorB( Decorator::Operation() );} };int main() {Component* simple new ConcreteComponent;std::cout Client: Ive got a simple component:\n;std::cout RESULT: simple-Operation();std::cout \n\n;Component* decorator1 new ConcreteDecoratorA(simple);Component* decorator2 new ConcreteDecoratorB(decorator1);std::cout Client: Now Ive got a decorated component:\n;std::cout RESULT: decorator2-Operation();std::cout \n;delete simple;delete decorator1;delete decorator2;return 0; } 装饰模式总结 优点 无需创建新子类即可扩展对象的行为。可以在运行时添加或删除对象的功能。可以用多个装饰封装对象来组合几种行为。单一职责原则。可以将实现了许多不同行为的一个大类拆分为多个较小的类。 缺点 在封装器栈中删除特定封装器比较困难。实现行为不受装饰栈顺序影响的装饰比较困难。各层的初始化配置代码看上去可能会很糟糕。
http://www.zqtcl.cn/news/850358/

相关文章:

  • 临沂网站建设搭建短视频如何引流与推广
  • 网站项目建设管理简介网络营销的概念
  • 网站后台怎么添加代码食品网站开发的背景
  • 茶楼 网站dedecms 旅游网站模板
  • 物流网站做那个好凯里网站设计
  • 网站 方案网页设计尺寸用怎么量
  • 商城购物网站设计内容互联网公司网站建设费用
  • 做租号玩网站赚钱吗网站下的源代码和自己做的区别
  • 关于校园网站的策划书久久建筑网的账号
  • 网站宣传的方式怎么查看一个网站有没有做推广
  • 台州房产网站建设自助开通网站
  • 佛山正规网站建设报价二级域名需要申请吗
  • 网站用户体验比较论坛类网站可以做移动端吗
  • 佛山网站优化建设网站设计公司种类
  • 永嘉高端网站建设效果空间设计手法有哪些
  • 好模板网站盐城做网站价格
  • 农村自建房设计图 效果图常州百度推广优化
  • 北京便宜网站建设为什么自己做的网站别的电脑打不开
  • 濮阳网站建设哪里便宜html页面模板
  • 个人推广网站wordpress 交友模板
  • 新乡网站建设价格中国反钓鱼网站联盟
  • 在线工具网站网站建设公司ejiew
  • 个人搭建网站教程王牌网站做代理
  • 网站地图什么意思电子商务营销推广
  • 手机排行榜网站教育平台网站开发
  • 佛山市顺德区建设局网站萧山网站建设
  • 合肥百度团购网站建设怀化网站开发
  • 网站建设ppt模板彩票网站开发dadi163
  • 网站建设4435建筑设计一般用什么软件
  • 河南网站建设重庆森林台词