实际案例
举例以 订单 履约流程 抽象,不同订单类型的“发货”行为即为不同的策略。
接口:
public interface OrderProcessManagerService<T, V, K> {/*** 配送中处理(订单状态32)* @param t*/ResultModel deliveryProcess(T t);/*** 妥投处理(订单状态64)* @param v*/ResultModel completeProcess(V v);/*** 详情* @param k*/ResultModel detail(K k);
实现类1:
public class OrderProcessSendManagerServiceImpl implements OrderProcessManagerService<OrderSendDTO, OrderCompleteDTO, Long>{public ResultModel deliveryProcess(OrderSendDTO orderSendDTO){......}public ResultModel completeProcess(OrderCompleteDTO orderCompleteDTO) {......}public ResultModel detail(Long orderId){.....}}
实现类2:
public class OrderProcessLocManagerServiceImpl implements OrderProcessManagerService<OrderSendCodeDTO, WriteOffParam, Long>{// 具体代码不贴了,理解就好;}
