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

网络营销策略名词解释武汉网站营销seo方案

网络营销策略名词解释,武汉网站营销seo方案,国外做多媒体展览的网站,网站网站建设概述 装饰器模式:在原有结构,动态地为对象添加职责,它是一种灵活的扩展功能方式。 业务场景:创建订单 假设你正在开发一个电商系统,用户在创建订单时可以选择不同的服务(如折扣、配送、礼品包装等&#…

概述

装饰器模式:在原有结构,动态地为对象添加职责,它是一种灵活的扩展功能方式。

业务场景:创建订单

假设你正在开发一个电商系统,用户在创建订单时可以选择不同的服务(如折扣、配送、礼品包装等)。你需要灵活地计算订单的总价,并能够动态地添加或移除这些服务。

核心思想

在创建订单场景中的核心思想是动态扩展,它通过组合而非继承的方式,创建时能不断扩展,订单对象传进入参不断扩展。


1. 基础组件接口 (Order)

public interface Order {double getTotalPrice(); // 获取订单总价String getDescription(); // 获取订单描述
}

2. 具体组件 (BasicOrder)

public class BasicOrder implements Order {private double basePrice; // 订单基础价格public BasicOrder(double basePrice) {this.basePrice = basePrice;}@Overridepublic double getTotalPrice() {return basePrice; // 返回基础价格}@Overridepublic String getDescription() {return "基础订单(价格:" + basePrice + ")";}
}

3. 装饰器基类 (OrderDecorator)

public abstract class OrderDecorator implements Order {protected Order decoratedOrder;public OrderDecorator(Order order) {this.decoratedOrder = order;}@Overridepublic double getTotalPrice() {return decoratedOrder.getTotalPrice();}@Overridepublic String getDescription() {return decoratedOrder.getDescription();}
}

4. 具体装饰器 

折扣装饰器 DiscountDecorator
public class DiscountDecorator extends OrderDecorator {private double discountRate; // 折扣率public DiscountDecorator(Order order, double discountRate) {super(order);this.discountRate = discountRate;}@Overridepublic double getTotalPrice() {return super.getTotalPrice() * (1 - discountRate); // 应用折扣}@Overridepublic String getDescription() {return super.getDescription() + " + 折扣(" + (discountRate * 100) + "%)";}
}
加急配送装饰器 ExpressShippingDecorator
public class ExpressShippingDecorator extends OrderDecorator {private double expressShippingFee; // 加急配送费用public ExpressShippingDecorator(Order order, double expressShippingFee) {super(order);this.expressShippingFee = expressShippingFee;}@Overridepublic double getTotalPrice() {return super.getTotalPrice() + expressShippingFee; // 添加加急配送费用}@Overridepublic String getDescription() {return super.getDescription() + " + 加急配送(费用:" + expressShippingFee + ")";}
}
礼品包装装饰器 GiftWrapDecorator
public class GiftWrapDecorator extends OrderDecorator {private double giftWrapFee; // 礼品包装费用public GiftWrapDecorator(Order order, double giftWrapFee) {super(order);this.giftWrapFee = giftWrapFee;}@Overridepublic double getTotalPrice() {return super.getTotalPrice() + giftWrapFee; // 添加礼品包装费用}@Overridepublic String getDescription() {return super.getDescription() + " + 礼品包装(费用:" + giftWrapFee + ")";}
}

5. 客户端代码

public class OrderSystem {public static void main(String[] args) {// 创建一个基础订单Order order = new BasicOrder(100.0);System.out.println(order.getDescription());System.out.println("总价: " + order.getTotalPrice());// 添加折扣order = new DiscountDecorator(order, 0.1); // 10% 折扣System.out.println(order.getDescription());System.out.println("总价: " + order.getTotalPrice());// 添加加急配送order = new ExpressShippingDecorator(order, 15.0); // 加急配送费用 15System.out.println(order.getDescription());System.out.println("总价: " + order.getTotalPrice());// 添加礼品包装order = new GiftWrapDecorator(order, 5.0); // 礼品包装费用 5System.out.println(order.getDescription());System.out.println("总价: " + order.getTotalPrice());}
}

6. 输出

基础订单(价格:100.0)
总价: 100.0
基础订单(价格:100.0) + 折扣(10.0%)
总价: 90.0
基础订单(价格:100.0) + 折扣(10.0%) + 加急配送(费用:15.0)
总价: 105.0
基础订单(价格:100.0) + 折扣(10.0%) + 加急配送(费用:15.0) + 礼品包装(费用:5.0)
总价: 110.0

业务场景总结

  1. 问题:订单可能需要添加多种附加服务(如折扣、运费、包装费等),如果为每种组合创建单独的类,会导致类爆炸。

  2. 解决方案:使用装饰器模式,动态地为订单添加附加服务。

  3. 优点

    • 灵活扩展功能,无需修改订单类的核心逻辑。

    • 支持动态添加或移除服务,符合开闭原则。

    • 避免类爆炸,组合功能更加简洁。


其他业务场景

  1. 购物车:为购物车动态添加优惠券、满减活动等。

  2. 订阅服务:为用户订阅动态添加附加功能(如高级功能、额外存储等)。

  3. 账单系统:为账单动态添加税费、服务费等。

装饰器模式在创建订单场景中的核心思想是动态扩展,它通过组合而非继承的方式,灵活地为订单添加功能或服务。

http://www.dtcms.com/wzjs/25743.html

相关文章:

  • 电子商务网站规划从哪些方面入手seo导航
  • 响应式网站和自适应百度指数怎么用
  • 抚顺营销型网站建设个人网站免费制作平台
  • 做网站设计用到的软件郑州黑帽seo培训
  • 哈尔滨企业建站模板太原网站快速排名优化
  • 网站索引怎么做网站建设规划书
  • jsp开源网站搜外网 seo教程
  • 个人做电影网站服务器放国外安全吗正规接单赚佣金的app
  • 建设高校网站的现实意义百度网盘资源搜索引擎
  • ssh做的大型网站百度指数在线查询工具
  • 像做移动网站用什么框架深圳网络推广培训机构
  • 培训页面设计师如何做网站seo排名优化
  • 网站建设计入哪个明细科目全国疫情高中低风险区一览表
  • 广东疫情哪个市最严重seo基础入门免费教程
  • 英文网站流量统计产品运营方案
  • 可以做立体图形的网站深圳网络推广市场
  • .la域名做的网站怎样在百度上注册自己的店铺
  • 重庆有哪些网站镇江搜索优化技巧
  • 服装企业的网站建设百度官网进入
  • 动态网址和静态网站深圳seo专家
  • 淄博建设网站公司新闻头条新闻
  • 支付宝手机网站支付二维码怎么做seo做的好的网站
  • 微信微博网站建设网络优化基础知识
  • 专做民宿预定的网站厦门人才网最新招聘信息网
  • 深圳龙岗高端网站建设网络公司优化关键词
  • php动态网站开发有哪些书百度小说风云榜排名
  • 模板网站开发上海关键词优化公司bwyseo
  • 深圳企业公司网站设计有哪些可以推广的平台
  • wpf可以做网站吗湖北搜索引擎优化
  • wordpress csdn主题杭州seo关键字优化