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

专业做网站建设公东莞seo外包

专业做网站建设公,东莞seo外包,博客网站素材,nh网站建设设计模式 总目录 https://preparedata.blog.csdn.net/article/details/134512591 文章目录 设计模式 总目录一、案例二、抽象类模版 AbstractOrderTemplate(顶层的订单抽象类)三、执行模版的实现类3.1 默认执行模版 DefaultOrder3.2 其他执行模版 Simlp…

设计模式 总目录

https://preparedata.blog.csdn.net/article/details/134512591


文章目录

    • 设计模式 总目录
    • 一、案例
    • 二、抽象类模版 AbstractOrderTemplate(顶层的订单抽象类)
    • 三、执行模版的实现类
      • 3.1 默认执行模版 DefaultOrder
      • 3.2 其他执行模版 SimlpeOrder
    • 四、调用


一、案例

在的下单业务中,可以将下单逻辑拆分,可能存在检验参数、获取商品、 扣减库存、核销优惠券、抵扣积分,保存订单等等。

应为业务的不同,可能下单处理节点不同(扣减库存、核销优惠券、抵扣积分,可能需要,可能不需要,也可能相互组合)。这是我们在单一下单接口中,逻辑就比较复杂,需要各种判断,各种兼容,后续代码逻辑很难清晰

这是我们可以借助模版模式,将下单逻辑,各个节点拆分,将具体各节点的执行进行模版组合,一个模版对应一套逻辑, 具体的下单逻辑,派发给模版去执行。

1.定义 抽象类 AbstractOrderTemplate 定义声明拆分下单逻辑, 声明模版执行; 通过业务类型来获取模版;

2.定义 实现类 DefaultOrder (默认的执行模版)SimlpeOrder (其他的执行模版)继承AbstractOrderTemplate, 实现抽象类AbstractOrderTemplate的模版执行。

通过模版可以自由区组合业务节点, 打包成一个执行整体。


二、抽象类模版 AbstractOrderTemplate(顶层的订单抽象类)

package com.pd.shopping.order.designptern.template;import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;import java.util.Map;/*** @author hll*/
@Slf4j
@Component
public abstract class AbstractOrderTemplate {public static AbstractOrderTemplate getInstance(String orderType) {switch (orderType){case "Simlpe"://可以利用一些获取Bean的工具获取, 避免new//SpringApplicationUtil.getBean(SimlpeOrder.class);return new SimlpeOrder();case "Default":return new DefaultOrder();default:return new DefaultOrder();}}/*** 检查参数* @param map*/public abstract void check(Map<String, Object> map);/*** 获取商品* @param map*/public abstract void getGoods(Map<String, Object> map);/*** 扣减库存* @param map*/public abstract void deductStock(Map<String,Object> map);/*** 扣减积分* @param map*/public abstract void deductPoint(Map<String,Object> map);/*** 保存订单* @param map*/public abstract void saveOrder(Map<String,Object> map);/*** 执行模版* @param map*/public abstract void executeTemplate(Map<String,Object> map);
}

三、执行模版的实现类

3.1 默认执行模版 DefaultOrder

package com.pd.shopping.order.designptern.template;import java.util.Map;public class DefaultOrder extends AbstractOrderTemplate {@Overridepublic void check(Map<String, Object> map) {}@Overridepublic void getGoods(Map<String, Object> map) {}@Overridepublic void deductStock(Map<String, Object> map) {}@Overridepublic void deductPoint(Map<String, Object> map) {}@Overridepublic void saveOrder(Map<String, Object> map) {}@Overridepublic void executeTemplate(Map<String, Object> map) {//检查参数check(map);//获取商品getGoods(map);//扣减库存deductStock(map);//扣减积分deductPoint(map);//保存订单saveOrder(map);}
}

3.2 其他执行模版 SimlpeOrder

package com.pd.shopping.order.designptern.template;import java.util.Map;public class SimlpeOrder extends AbstractOrderTemplate {@Overridepublic void check(Map<String, Object> map) {}@Overridepublic void getGoods(Map<String, Object> map) {}@Overridepublic void deductStock(Map<String, Object> map) {}@Overridepublic void deductPoint(Map<String, Object> map) {}@Overridepublic void saveOrder(Map<String, Object> map) {}@Overridepublic void executeTemplate(Map<String, Object> map) {//检查参数check(map);//获取商品getGoods(map);//保存订单saveOrder(map);}
}

四、调用

	@GetMapping("/templateOrder")public void templateOrder() {AbstractOrderTemplate.getInstance("Simlpe").executeTemplate(new HashMap<>());AbstractOrderTemplate.getInstance("Default").executeTemplate(new HashMap<>());}

http://www.mmbaike.com/news/110733.html

相关文章:

  • 系统之家win7纯净版泰州百度关键词优化
  • 政府网站建设工作 主要职责磁力搜索器 磁力猫在线
  • 日本设计设计网站最新域名ip地址
  • 一个产品有两个品牌怎么做网站网址搜索引擎入口
  • 工程资料代做网站百度推广最简单方法
  • 网站查询是否安全网络营销的发展历程
  • 做ppt兼职网站有哪些查询百度关键词排名
  • 软件商城下载安卓版武汉网络优化知名乐云seo
  • 做鞋原料网站如何提高网站seo排名
  • 哪些网站是用php编写的淘宝指数网站
  • 广州做网站比较有名的公司网站制作流程是什么
  • 网站建设的功能有哪些seo属于什么
  • 株洲网站制作公司有哪些舆情系统
  • seo网站推广软件 快排全网搜索指数查询
  • 做爰全过程免费的网站视频营销模式有几种
  • 比较好的做淘客网站制作公司网站
  • 系统网站建设需求分析如何建立个人网址
  • 比较个性的网站林哥seo
  • 微信商城网站哪家做的好百度首页 百度
  • 网站风格包括什么引流推广公司
  • 有哪些公司的网站做的比较好搜索引擎优化案例分析
  • 网站实现留言功能吗福州模板建站哪家好
  • 杭州建网站企业windows优化软件排行
  • 吐鲁番做网站5000元网站seo推广
  • ui设计在哪个网站可以接做西安百度关键词优化
  • 专做项目报告的网站大丰seo排名
  • 呼市建设委员会官方网站如何优化seo
  • 在哪个网站上做预收款报告百度推广开户代理
  • 做微信公众号的网站广东公司搜索seo哪家强
  • 网站要怎么样做排名才上得去百度企业官网