我是如何一步步编码完成万仓网的

  本人是一个.Net技术的码农,长期开发和维护电商ERP和WMS系统,曾供职于几个大的电商公司,公司名字就不说了,供职的几个电商公司,都是自研的ERP和WMS系统。工作这么多年,对于电商的整个流程非常熟悉,尤其对电商WMS系统的每个环节了如指掌。突然有一天,心头有一个想法,能不能把我供职的几个电商公司的ERP和WMS系统重新整合一下,取几家公司ERP的长处,做成一个比较通用的ERP和WMS系统呢?

  说干就干,首先就是搭建系统的架构,采取哪种架构合适呢?传统的三层架构行不行?行,但是系统业务复杂度越来越高时,不利于扩展。使用领域驱动设计呢?领域驱动设计(DDD模式)好像有点复杂呢,开发的工作量可能会有点大。

  想来想去那就用三层架构和领域驱动设计结合来搭建这个系统吧。好吧,咱们就直接上架构图。

  我是如何一步步编码完成万仓网的

  简单介绍一下每个层(类库)的作用:

  jos-sdk-net:京东jos SDK源码包,用于从京东抓取订单,回传物流单号,同步库存等,也可以直接引用生成的dll文件。

  OSS.Common:通用的支付接口(支付宝和微信支付),系统暂时没有使用

  ZJ.Common:一些常用的方法,加密解密,扩展,Excel导入导出等。

  ZJ.DataAccess:数据库连接、事务、SQLHelper等

  ZJ.Infrastructure:依赖注入的反射模块,系统使用的是Microsoft.Practices.Unity。

  ZJ.Quartz.BLL:Quartz服务的业务模块。

  ZJ.Quartz.Services:Quartz服务(计划任务等)。

  UEditor-1.4.3.3:百度的UEditor编辑器。

  ZJ.BLL:业务逻辑层。

  ZJ.Domain:Model和领域对象层。

  ZJ.OpenApi:用于和外部API交互的API层。

  ZJ.Repository:仓库(Repository)接口层。

  ZJ.Repository.Core:仓库(Repository)实现层,用于SQL Server数据库的增删查改。

  ZJ.Repository.MySqlCore:仓库(Repository)实现层,用于MySql数据库的增删查改。

  ZJ.Services:服务(Services)接口层。

  ZJ.Services.Impl:服务(Services)实现层。

  ZJ.WebApi:用于和内部系统API交互层。

  ZJ.WebAuthApi:JWT Token API层,系统暂时没有使用

  ZJ.WebAuthToken:JWT Token的获取、刷新,移除等,系统暂时没有使用

  ZJ.WMSWeb:Web层,前端页面展示等。

上一篇:b_zj_选区间(单调栈+撩脑)


下一篇:【机器学习系列】变分推断第二讲:基于Mean Field的变分推断解法