https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步編碼完成萬倉網ERP系統的(一)系統架構)html
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:客官有時間光臨個人小站 萬倉網。