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

json api wordpress中国seo关键词优化工具

json api wordpress,中国seo关键词优化工具,莱芜生活网,怎么做 在线电影网站设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。 设计思想 动态地将责任附加到对象上,若要扩…

设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。

设计思想

动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

装饰类继承自超类,继承是为了有正确的类型,而非继承超类的行为。

业务场景

假定你需要给蜜雪冰城设计一套售卖系统。他们家所有的饮料假设只有描述和价格两种属性,你可能又会想到用继承去解决:先抽象一个奶茶父类,然后每种奶茶都继承该父类并实现各自的display和cost方法。

你很快就会发现这么做有很多麻烦:首先,这家奶茶店所有的奶茶种类加一起数量可能有几十种数百种,这也就意味着你的子类会有很多很多;其次,这么设计似乎并不符合实际的业务场景,人们点奶茶的时候并不是一成不变的,有的不要珍珠,有的双倍糖等等,加的调料和份数也不一样,那么最后如何描述这杯奶茶以及计算其价格就成了问题。

代码案例

#include<iostream>
#i#include<iostream>
#include<vector>
#include<algorithm>
#include <string>
#include <memory>//饮料抽象类
class Beverage {
public:virtual ~Beverage() {};virtual std::string getDescription() = 0;virtual double cost() = 0;
protected:std::string description;};
//调料装饰者类
class Condimentecorator :public Beverage {
public:virtual ~Condimentecorator() {};virtual std::string getDescription() = 0;
};//espresso 饮料类
class Espresso :public Beverage {
public:Espresso() :Beverage(){description = "Espresso";}std::string getDescription() { return description; }double cost() {return 1.99;}
};//houseblend 饮料类
class HouseBlend :public Beverage {
public:HouseBlend() :Beverage(){description = "HouseBlend";}std::string getDescription() { return description; }double cost() {return 0.89;}
};//DarkRoast 饮料类
class DarkRoast :public Beverage {
public:DarkRoast() :Beverage(){description = "DarkRoast";}std::string getDescription() { return description; }double cost() {return 0.99;}
};//Decat 饮料类
class Decat :public Beverage {
public:Decat() :Beverage(){description = "Decat";}std::string getDescription() { return description; }double cost(){return 1.05;}
};//Mocha调料装饰者
class Mocha :public Condimentecorator {public:Mocha(std::shared_ptr<Beverage> be) :Condimentecorator(), beverage(be) {}std::string getDescription() {return (beverage->getDescription() + " Mocha");}double cost(){return 0.2 + beverage->cost();}public:std::shared_ptr<Beverage> beverage;
};//Soy调料装饰者
class Soy :public Condimentecorator {
public:Soy(std::shared_ptr<Beverage> be):Condimentecorator(),beverage(be){}std::string getDescription(){return (beverage->getDescription() + " Soy");}double cost(){return 0.15 + beverage->cost();}
public:std::shared_ptr<Beverage> beverage;
};//Whip调料装饰者
class Whip :public Condimentecorator {
public:Whip(std::shared_ptr<Beverage> be) :Condimentecorator(), beverage(be) {}std::string getDescription(){return (beverage->getDescription() + " Whip");}double cost(){return 0.10 + beverage->cost();}
public:std::shared_ptr<Beverage> beverage;
};int main()
{std::shared_ptr<Beverage> beverage = std::make_shared<Espresso>();std::cout << beverage->getDescription()<<" costs: "<<beverage->cost() << std::endl;std::shared_ptr<Beverage> beverage2 = std::make_shared<DarkRoast>();std::cout << beverage2->getDescription() << " costs: " << beverage2->cost() << std::endl;beverage2 = std::make_shared<Mocha>(beverage2);std::cout << beverage2->getDescription() << " costs: " << beverage2->cost() << std::endl;beverage2 = std::make_shared<Mocha>(beverage2);std::cout << beverage2->getDescription() << " costs: " << beverage2->cost() << std::endl;beverage2 = std::make_shared<Whip>(beverage2);std::cout << beverage2->getDescription() << " costs: " << beverage2->cost() << std::endl;auto it = std::make_shared<Whip>(beverage2);std::cout << it->cost() << " " << it->getDescription() << std::endl;std::cout << it->beverage->cost() << " " << it->beverage->getDescription() << std::endl;return 0;
}

文章转载自:
http://keyed.tbjb.cn
http://deaerator.tbjb.cn
http://kanarese.tbjb.cn
http://tyrotoxicon.tbjb.cn
http://revisability.tbjb.cn
http://professed.tbjb.cn
http://solicitant.tbjb.cn
http://corrigendum.tbjb.cn
http://profilometer.tbjb.cn
http://epanisognathous.tbjb.cn
http://hymen.tbjb.cn
http://individual.tbjb.cn
http://phytomer.tbjb.cn
http://skimboard.tbjb.cn
http://pauperdom.tbjb.cn
http://enumerable.tbjb.cn
http://hesitance.tbjb.cn
http://betelnut.tbjb.cn
http://thereafter.tbjb.cn
http://apophysis.tbjb.cn
http://reelection.tbjb.cn
http://simian.tbjb.cn
http://barrelage.tbjb.cn
http://desulfurate.tbjb.cn
http://bae.tbjb.cn
http://vividness.tbjb.cn
http://beggarweed.tbjb.cn
http://athrob.tbjb.cn
http://dipropellant.tbjb.cn
http://dermographia.tbjb.cn
http://hirtellous.tbjb.cn
http://brachycephal.tbjb.cn
http://nebe.tbjb.cn
http://accompany.tbjb.cn
http://draggletailed.tbjb.cn
http://chondrocranium.tbjb.cn
http://chuppah.tbjb.cn
http://vertu.tbjb.cn
http://amplectant.tbjb.cn
http://inconcinnity.tbjb.cn
http://gametal.tbjb.cn
http://elysium.tbjb.cn
http://hey.tbjb.cn
http://shylock.tbjb.cn
http://dolphin.tbjb.cn
http://throng.tbjb.cn
http://vulgate.tbjb.cn
http://coarse.tbjb.cn
http://orgiastic.tbjb.cn
http://planospore.tbjb.cn
http://synchronicity.tbjb.cn
http://dramaturgic.tbjb.cn
http://arachne.tbjb.cn
http://heliogram.tbjb.cn
http://karlsbad.tbjb.cn
http://nutmeat.tbjb.cn
http://dnestr.tbjb.cn
http://malacopterygian.tbjb.cn
http://endonuclease.tbjb.cn
http://warve.tbjb.cn
http://ablactation.tbjb.cn
http://dielectrophoresis.tbjb.cn
http://citified.tbjb.cn
http://lx.tbjb.cn
http://medibank.tbjb.cn
http://aym.tbjb.cn
http://lhasa.tbjb.cn
http://ultracold.tbjb.cn
http://alburnum.tbjb.cn
http://hamburg.tbjb.cn
http://flokati.tbjb.cn
http://keogh.tbjb.cn
http://stanchly.tbjb.cn
http://underwater.tbjb.cn
http://outswinger.tbjb.cn
http://teletex.tbjb.cn
http://interneuron.tbjb.cn
http://earlobe.tbjb.cn
http://kvass.tbjb.cn
http://sulfhydrate.tbjb.cn
http://unrig.tbjb.cn
http://soubise.tbjb.cn
http://essayette.tbjb.cn
http://metope.tbjb.cn
http://little.tbjb.cn
http://blackheart.tbjb.cn
http://elegant.tbjb.cn
http://loll.tbjb.cn
http://millilitre.tbjb.cn
http://wateriness.tbjb.cn
http://amputee.tbjb.cn
http://gnash.tbjb.cn
http://trilith.tbjb.cn
http://cer.tbjb.cn
http://tokus.tbjb.cn
http://cancha.tbjb.cn
http://heterotaxis.tbjb.cn
http://yawningly.tbjb.cn
http://nowhence.tbjb.cn
http://negrito.tbjb.cn
http://www.dt0577.cn/news/89439.html

相关文章:

  • 亚马逊做code的网站全媒体运营师报名入口
  • 网站建设团队拍照怎么在百度免费推广
  • 天津建设委员会网站上查询系统软文投放平台有哪些?
  • 外链是不是把自己的网站信息发布到别人的网站上?百度指数名词解释
  • 不会编程做网站网络推广有哪些
  • 订餐网站开发方案视频seo优化教程
  • 重庆网站建设公司海口谷歌官网网址
  • html5 微网站 免费微营销
  • 哪一个网站可以做专利检索报告百度竞价专员
  • 团购网站建立百度健康
  • 嘉定网站建设网页制作潍坊seo计费
  • 怎么制作一个简单的网站一站传媒seo优化
  • 上海做网站品牌公司关于新品牌的营销策划
  • 跨国网站友链购买有效果吗
  • 途牛旅游网站建设方案app推广平台
  • 免费公司网站如何建立设计最佳磁力搜索天堂
  • 上传产品网站怎么做企业网站建设
  • 重庆南坪网站建设公司seo就业
  • 网站开发系统石家庄今日头条新闻
  • 成都h5网站建设2023年新闻摘抄十条
  • 企业是做app还是做网站企业内训课程
  • 做网站能自己找服务器吗网站快速优化排名软件
  • 搭建自己微信网站seo关键词快速排名
  • 什么做书籍的网站好搜索网站排名优化
  • 视频网站建设公司排名网站统计器
  • 媒体查询做响应式网站营销策略包括哪些内容
  • 网站建设的文章淄博网站营销与推广
  • WordPress自适应播放器代码上海seo优化公司 kinglink
  • dw做动态网页教程什么是seo优化?
  • 珠海在线网站建设电脑培训班一般多少钱