我是如何一步步编码完成万仓网ERP系统的(一)系统架构
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构)
https://www.cnblogs.com/smh188/p/11534451.html(我是如何一步步编码完成万仓网ERP系统的(二)前端框架)
https://www.cnblogs.com/smh188/p/11535449.html(我是如何一步步编码完成万仓网ERP系统的(三)登录)
https://www.cnblogs.com/smh188/p/11541033.html(我是如何一步步编码完成万仓网ERP系统的(四)登录的具体实现)
https://www.cnblogs.com/smh188/p/11542310.html(我是如何一步步编码完成万仓网ERP系统的(五)产品库设计 1.产品类别)
https://www.cnblogs.com/smh188/p/11546917.html(我是如何一步步编码完成万仓网ERP系统的(六)产品库设计 2.百度Ueditor编辑器)
https://www.cnblogs.com/smh188/p/11572668.html(我是如何一步步编码完成万仓网ERP系统的(七)产品库设计 3.品牌图片跨域上传)
https://www.cnblogs.com/smh188/p/11576543.html(我是如何一步步编码完成万仓网ERP系统的(八)产品库设计 4.品牌类别)
https://www.cnblogs.com/smh188/p/11578185.html(我是如何一步步编码完成万仓网ERP系统的(九)产品库设计 5.产品属性项)
https://www.cnblogs.com/smh188/p/11589264.html(我是如何一步步编码完成万仓网ERP系统的(十)产品库设计 6.属性项和类别关联)
https://www.cnblogs.com/smh188/p/11596459.html(我是如何一步步编码完成万仓网ERP系统的(十一)产品库设计 7.发布商品)
https://www.cnblogs.com/smh188/p/11610960.html(我是如何一步步编码完成万仓网ERP系统的(十二)库存 1.概述)
https://www.cnblogs.com/smh188/p/11669871.html(我是如何一步步编码完成万仓网ERP系统的(十三)库存 2.加权平均价)
https://www.cnblogs.com/smh188/p/11763319.html(我是如何一步步编码完成万仓网ERP系统的(十四)库存 3.库存日志)
万仓网ERP系统不开源,准备做一个系列,讲一讲主要的技术点,这些技术点会有源代码。如果想看所有的源代码,可以打道回府了,没必要再阅读下去了,浪费您宝贵的时间。
本人是一个.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层,前端页面展示等。
系统架构这东西符合自己的就是好的,没必要千篇一律。
PS:客官有时间光临我的小站 万仓网。
最新文章
- python求解ax² + bx + c = 0
- 【转】RHadoop实践系列之二:RHadoop安装与使用
- 匿名函数自调用(IIFE)
- nohup不输出日志信息的方法,及linux重定向学习
- 【风马一族_Python】 决策树
- HDU 5763 Another Meaning (kmp + dp)
- c++ 联合体
- 一个简单的TestNG例子
- TDD
- CADisplayLink使用中的循环引用问题的解决
- 三大框架:Struts+Hibernate+Spring
- python模块(os,sys,hashlib,collections)
- python爬虫scrapy之登录知乎
- Qt带返回值的信号发射方式(使用QMetaObject::invokeMethod)
- Jira/Confluence的备份、恢复和迁移
- Python 学习 第六篇:迭代和解析
- java基础基础总结----- 常用了解java(二)
- leetcode 343 整数拆分
- MySQL笔记(八)存储过程练习&;补充
- 全网最详细的HBase启动以后,HMaster进程启动了,几秒钟以后自动关闭问题的解决办法(图文详解)
热门文章
- SpringCloud Gateway拦截器遇到的小坑汇总
- linux下编译安装MariaDB 10.4.7,解决错误:cannot access ‘/auth_pam_tool_dir’: No such file or directory
- JS基础语法---continue关键字
- HTML5新标签与特性---多媒体
- 控制台程序(C#)不弹出登录窗口连接到Dynamics CRM Online的Web API
- JDK10源码分析之HashMap
- rocksdb和leveldb的bloom filter比较
- Service__cmd安装MySQL并连接SQLyog
- FileSizeLimitExceededException
- [视频教程] 使用composer安装使用thinkphp6.0框架