zoukankan      html  css  js  c++  java
  • 订单模块-结构设计

    IOrderDomainService给网关调用,接收一个参数orderType,比如createOrder(CreateOrderRequest req)

    =======================================================================================================

    class OrderDomainService

    public CreateOrderResult createOrder(CreateOrderRequest request) {

      //参数验证

      return this.getOrderService(request.getOrderType().toString()).createOrder(request);

    }

    private IOrderService getOrderService(String orderType) {
        String className = String.format("orderService%s", orderType);
        IOrderService orderService = MyApplicationContext.getInstance().getBean(className, IOrderService.class, false);
        if (orderService == null) {
          throw new ServiceException(String.format("合作方订单服务未定义[%s]", orderType), ServiceException.NOT_EXIST);
        }
        return orderService;
    }

    ====================================================================================================================

    @Service("orderService1")
    public class Child1OrderService extends AbstractOrderService implements IChild1OrderService

    @Service("orderService2")
    public class Child2OrderService extends AbstractOrderService implements IChild2OrderService

  • 相关阅读:
    git基本使用
    list和tuple
    牛客(60)把二叉树打印成多行
    牛客(59)按之字形顺序打印二叉树
    牛客(58)对称的二叉树
    牛客(57)二叉树的下一个结点
    牛客(56)删除链表中重复的结点
    牛客(55)链表中环的入口结点
    mybits(1)配置
    牛客(53)表示数值的字符串
  • 原文地址:https://www.cnblogs.com/joke0406/p/10905794.html
Copyright © 2011-2022 走看看