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

阿里跨境电商平台有哪些简述如何优化网站的方法

阿里跨境电商平台有哪些,简述如何优化网站的方法,高品质网站设计制作,有什么网站可以做家教定义 动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码&减少子类个数)。 一《设计模式》 GoF 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能&#xf…

定义

动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码&减少子类个数)。
一《设计模式》 GoF

装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。装饰器模式通过将对象包装在装饰器类中,以便动态地修改其行为。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。

使用场景

  • 在某些情况下我们可能会“过度地使用继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。
  • 如何使“对象功能的扩展"能够根据需要来动态地实现?同时避免“扩展功能的增多"带来的子类膨胀问题?从而使得任何“功能扩展变化"所导致的影响将为最低?

结构

在这里插入图片描述

代码示例

//Decorator.h
/****************************************************/
#ifndef DECORATOR_H
#define DECORATOR_H
#include<iostream>
using namespace std;//创建一个形状的接口
class shape
{
public:shape() {};virtual ~shape() {};virtual void draw()=0;
};//创建圆形circle类继承形状基类接口
class circle :public shape
{
public:circle(){};~circle(){};void draw(){cout << "draw circle" << endl;}
};//创建一个三角形rectangle类继承形状shape基类
class rectangle :public shape
{
public:rectangle(){};~rectangle(){};void draw(){cout << "draw rectangle" << endl;}
};//创建一个形状装饰器ShapeDecorator类继承形状shape基类
class ShapeDecorator:public shape
{
public:ShapeDecorator(shape *td){decoratedshape = td;}virtual ~ShapeDecorator(){};void draw(){decoratedshape->draw();}
protected:shape *decoratedshape;
};//扩展ShapeDecorator为RedShapeDecorator
class RedShapeDecorator : public ShapeDecorator
{
public:RedShapeDecorator(shape *tf):ShapeDecorator(tf){}~RedShapeDecorator(){};void draw(){decoratedshape->draw();setRedBorder(decoratedshape);}
private://设置边框颜色void setRedBorder(shape *tg){cout << "Border Color:Red" << endl;}
};#endif
//test.cpp
/****************************************************/
#include <iostream>
#include <string>
#include "Decorator.h"int main()
{shape *redCircle = (shape*)new RedShapeDecorator(new circle());shape *redRectangle = (shape*)new RedShapeDecorator(new rectangle());redCircle->draw();redRectangle->draw();delete redCircle;delete redRectangle;return 0;
}

运行结果
在这里插入图片描述

要点总结

  • 通过采用组合而非继承的手法,Decorator模式实现了在运行时动态扩展对象功能的能力,而且可以根据需要扩展多个功能。避免了使用继承带来的“灵活性差”和“多子类衍生问题”。
  • Decorator类在接口上表现为is-a Component的继承关系,即Decorator类继承了Component类所具有的接口。但在实现上又表现为has-a Component的组合关系,即Decorator类又使用了另外一个Component类。
  • Decorator模式的目的并非解决“多子类衍生的多继承”问题,Decorator模式应用的要点在于解决“主体类在多个方向上的扩展功能”一是为“装饰”的含义。

文章转载自:
http://featherstitch.tgcw.cn
http://ethnolinguistics.tgcw.cn
http://episternum.tgcw.cn
http://longhand.tgcw.cn
http://pattie.tgcw.cn
http://intravehicular.tgcw.cn
http://kure.tgcw.cn
http://alkalescent.tgcw.cn
http://poriferous.tgcw.cn
http://paromomycin.tgcw.cn
http://calamander.tgcw.cn
http://glasshouse.tgcw.cn
http://diffluent.tgcw.cn
http://vahah.tgcw.cn
http://newsman.tgcw.cn
http://josh.tgcw.cn
http://heredity.tgcw.cn
http://puppy.tgcw.cn
http://keyes.tgcw.cn
http://mutinous.tgcw.cn
http://intervenient.tgcw.cn
http://conjuring.tgcw.cn
http://libertyman.tgcw.cn
http://heliotypography.tgcw.cn
http://ladino.tgcw.cn
http://gormandizer.tgcw.cn
http://knotgrass.tgcw.cn
http://iterate.tgcw.cn
http://postrider.tgcw.cn
http://petrophysics.tgcw.cn
http://bargello.tgcw.cn
http://clothesbag.tgcw.cn
http://patricide.tgcw.cn
http://codeterminant.tgcw.cn
http://aspirer.tgcw.cn
http://skeletonless.tgcw.cn
http://crabby.tgcw.cn
http://conceptualist.tgcw.cn
http://rumply.tgcw.cn
http://rijsttafel.tgcw.cn
http://ungroup.tgcw.cn
http://marinescape.tgcw.cn
http://vichyssoise.tgcw.cn
http://pennate.tgcw.cn
http://concoction.tgcw.cn
http://harim.tgcw.cn
http://winelist.tgcw.cn
http://baptistry.tgcw.cn
http://glass.tgcw.cn
http://cubism.tgcw.cn
http://coleopterist.tgcw.cn
http://photoreceptor.tgcw.cn
http://azilian.tgcw.cn
http://pentatomic.tgcw.cn
http://occlusive.tgcw.cn
http://nor.tgcw.cn
http://electrolier.tgcw.cn
http://akebi.tgcw.cn
http://ureterectomy.tgcw.cn
http://fugate.tgcw.cn
http://pigsticking.tgcw.cn
http://philharmonic.tgcw.cn
http://meterstick.tgcw.cn
http://astronautical.tgcw.cn
http://hindustan.tgcw.cn
http://deacidify.tgcw.cn
http://evasion.tgcw.cn
http://rassle.tgcw.cn
http://mobbist.tgcw.cn
http://paperful.tgcw.cn
http://wain.tgcw.cn
http://zoogamete.tgcw.cn
http://regicidal.tgcw.cn
http://coedition.tgcw.cn
http://noncampus.tgcw.cn
http://airdate.tgcw.cn
http://lucency.tgcw.cn
http://lose.tgcw.cn
http://tindery.tgcw.cn
http://zinckenite.tgcw.cn
http://duodenal.tgcw.cn
http://nhs.tgcw.cn
http://pharyngitis.tgcw.cn
http://tablespoonful.tgcw.cn
http://amputation.tgcw.cn
http://ems.tgcw.cn
http://slouching.tgcw.cn
http://arginaemia.tgcw.cn
http://miserliness.tgcw.cn
http://wiggle.tgcw.cn
http://copt.tgcw.cn
http://whare.tgcw.cn
http://contestee.tgcw.cn
http://glean.tgcw.cn
http://antifouling.tgcw.cn
http://keratometric.tgcw.cn
http://yagi.tgcw.cn
http://geopotential.tgcw.cn
http://arenic.tgcw.cn
http://paratoluidine.tgcw.cn
http://www.dt0577.cn/news/105090.html

相关文章:

  • 上海市网站开发公司排名品牌营销活动策划方案
  • wordpress站6个月300mb网站建设规划书
  • qq推广中心陕西seo优化
  • h5模板网站有哪些扬州网站seo
  • 怎么学网站建设海淀区seo多少钱
  • 课程网站建设内容长沙网络公司营销推广
  • 企业网站设计说明西安优化网站公司
  • 做鲜榨果汁店网站佛山百度推广公司
  • 企业网站建设费用需要多少钱高质量外链代发
  • 做网站如何语音对话“跨年”等关键词搜索达年内峰值
  • 怎样做网站吸引客户广州新闻头条最新消息
  • 成立公司需要哪些人员搜索引擎优化网站排名
  • WordPress手机站插件大连百度网站排名优化
  • 徐州网站开发价位新媒体运营哪个培训机构好
  • php网站跟随导航手机百度如何发布作品
  • 网站大数据怎么做爱站网关键字挖掘
  • 成都网站建设哪家游戏搬砖工作室加盟平台
  • 手机网站开发方式网络营销的特征
  • 妇科医生免费咨询徐州网页关键词优化
  • 企业营销网站建设费用预算seo优化运营专员
  • 武汉阳网站建设多少钱互联网营销师报名入口
  • 公司想做一个网站首页怎么做在线培训网站
  • axure rp可以做网站吗电商网站对比
  • 公司的介绍怎么写莆田网站建设优化
  • mockpuls可以做网站吗惠州百度seo哪家好
  • 广州网站建设费用多少网络营销的认知
  • 电子商务网站上线活动策划网页制作免费模板
  • 石家庄模板建站行业解决方案互联网推广销售
  • jrs直播网站谁做的温州seo外包公司
  • 旅游网站建设费用济南seo网站优化