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

动画设计与制作教案深圳市企业网站seo营销工具

动画设计与制作教案,深圳市企业网站seo营销工具,怎么营销一个产品,怎样建立一个营销的公司网站👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…

👨‍🎓 模式名称:装饰器模式(Decorator Pattern)

👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料:
有的同学要加波霸 🟤,有的要加椰果 🥥,还有的要加奶盖 🥛。
但每个“加料”组合都要写一个新类?小明一开始不以为意,直到……

❌ 没使用装饰器模式的惨状:

#include <iostream>
#include <string>class MilkTea {
public:virtual std::string getDescription() = 0;virtual double cost() = 0;virtual ~MilkTea() {}
};class OriginalMilkTea : public MilkTea {
public:std::string getDescription() override {return "原味奶茶";}double cost() override {return 8.0;}
};class MilkTeaWithBoba : public MilkTea {
public:std::string getDescription() override {return "原味奶茶 + 波霸";}double cost() override {return 10.0;}
};class MilkTeaWithBobaAndCheese : public MilkTea {
public:std::string getDescription() override {return "原味奶茶 + 波霸 + 奶盖";}double cost() override {return 13.0;}
};int main() {MilkTea* tea1 = new OriginalMilkTea();MilkTea* tea2 = new MilkTeaWithBoba();MilkTea* tea3 = new MilkTeaWithBobaAndCheese();std::cout << tea3->getDescription() << " 价格:¥" << tea3->cost() << std::endl;delete tea1;delete tea2;delete tea3;return 0;
}

在这里插入图片描述

💥 小明懵了:

加个椰果再写个类?
波霸 + 奶盖 + 椰果再写?
🍵 加料 2^N 种组合,类数直接爆炸!

✅ 使用装饰器模式后:灵活加料,优雅解耦!

#include <iostream>
#include <string>
#include <memory>// 奶茶基类
class MilkTea {
public:virtual std::string getDescription() = 0;virtual double cost() = 0;virtual ~MilkTea() {}
};// 原味奶茶
class OriginalMilkTea : public MilkTea {
public:std::string getDescription() override {return "原味奶茶";}double cost() override {return 8.0;}
};// 装饰器基类
class ToppingDecorator : public MilkTea {
protected:std::shared_ptr<MilkTea> tea;
public:ToppingDecorator(std::shared_ptr<MilkTea> t) : tea(t) {}
};// 加波霸
class Boba : public ToppingDecorator {
public:Boba(std::shared_ptr<MilkTea> t) : ToppingDecorator(t) {}std::string getDescription() override {return tea->getDescription() + " + 波霸🟤";}double cost() override {return tea->cost() + 2.0;}
};// 加奶盖
class Cheese : public ToppingDecorator {
public:Cheese(std::shared_ptr<MilkTea> t) : ToppingDecorator(t) {}std::string getDescription() override {return tea->getDescription() + " + 奶盖🥛";}double cost() override {return tea->cost() + 3.0;}
};// 加椰果
class Coconut : public ToppingDecorator {
public:Coconut(std::shared_ptr<MilkTea> t) : ToppingDecorator(t) {}std::string getDescription() override {return tea->getDescription() + " + 椰果🥥";}double cost() override {return tea->cost() + 1.5;}
};int main() {// 原味奶茶 + 波霸 + 奶盖 + 椰果!std::shared_ptr<MilkTea> order = std::make_shared<OriginalMilkTea>();order = std::make_shared<Boba>(order);order = std::make_shared<Cheese>(order);order = std::make_shared<Coconut>(order);std::cout << "🎉 " << order->getDescription() << " 价格:¥" << order->cost() << std::endl;return 0;
}

在这里插入图片描述

🧠 总结:装饰器模式的价值

问题没使用使用装饰器
类数量爆炸(组合越多类越多)只需一个装饰器类一类加料
灵活性不能动态组合可以任意组合加料
可维护性每改一组合要改多个类可拓展性强,易维护

✅ 适用场景

  • 不同功能组合需要动态叠加(如小明的加料奶茶🍵、网页组件、技能系统等)

  • 不想通过继承创建过多子类

  • 需要在运行时添加功能而非编译期


文章转载自:

http://d0887Wmy.tzjqm.cn
http://AC1NWizT.tzjqm.cn
http://76B3JXVP.tzjqm.cn
http://ReJOr1X5.tzjqm.cn
http://E8LxnLvn.tzjqm.cn
http://E2MOdigG.tzjqm.cn
http://RLVxHNcF.tzjqm.cn
http://H8xf5zMg.tzjqm.cn
http://ucsfEts1.tzjqm.cn
http://1RXkqU2b.tzjqm.cn
http://bWUHptfY.tzjqm.cn
http://iDpB2dfa.tzjqm.cn
http://TBfmHZgI.tzjqm.cn
http://RWd5Ovk8.tzjqm.cn
http://DjfSs32J.tzjqm.cn
http://Jv89M6Qi.tzjqm.cn
http://7wrphyBX.tzjqm.cn
http://t9PbQBWG.tzjqm.cn
http://mt6WCf9V.tzjqm.cn
http://qnc21dP5.tzjqm.cn
http://C8EvteFO.tzjqm.cn
http://3HeeNYiI.tzjqm.cn
http://VszjeRAM.tzjqm.cn
http://CmqzVuko.tzjqm.cn
http://fyUxo9Om.tzjqm.cn
http://lBYgsjil.tzjqm.cn
http://IRa7PlRD.tzjqm.cn
http://jYHgPj26.tzjqm.cn
http://mC0NKZo9.tzjqm.cn
http://CU8lJJoi.tzjqm.cn
http://www.dtcms.com/wzjs/758859.html

相关文章:

  • php网站开发环境论文wordpress 入侵视频教程
  • 自己做门户网站网站备案撤销怎么办
  • 网站建设 风险说明书asp制作网站
  • ztouchs网站查询手机网站 分辨率
  • 手表商城网站建设方案推广平台网站制作
  • 怎么建立网站黄山春节旅游攻略
  • 使用网站模板快速建站教案建一个网站需要多少费用
  • 在个人网站上做电商营业执照百度搜索引擎录入网站
  • 微信手机网页登录入口好的优化网站推广公司
  • 建设部网站资质标准网站建设必备软件
  • 湖南省建设信息网站查询天猫关键词排名怎么控制
  • 网站维护合同东莞个人网站设计
  • 正保建设工程网站刚做淘客没有网站
  • 灌南住房建设局网站网站改版协议
  • 网站建设哪家公司好成都网站建设怎样让百度收录自己的网站
  • 门户网站策划书有没有做海报的网站推荐
  • 快速增加网站权重如何建电子商务网站
  • 网站如何做m适配阳江网络问政平台新闻发布会
  • 栾城做网站公众号推文模板免费
  • 武威百度做网站多少钱wordpress的开发文档
  • 物流公司 网站模板wordpress搜索查询插件
  • 网站服务器有问题怎么办啊百度抓取不到网站
  • 沈阳网站关键词优化服务好wordpress建站视频教程
  • 开发个微网站多少钱商城小程序 wordpress
  • 新网站如何做seo推广wordpress获取分类链接地址
  • 沈阳酒店企业网站制作科技成果鉴定机构
  • 快速做网站公司名雕装饰
  • PHP 网站开发 入门江苏广宇建设集团有限公司网站
  • 上海人才网官网站首页营销是什么
  • 企业网站设计网站招聘类网站该怎么做