DDD規劃及參考
在接下來這個專案中,因為我希望可以達到的是盡量讓每個階段都可以做到比較好的職責分離,所以我這次想採用這篇文章所規劃的DDD來進行資料夾的架構規劃,另外再外加一些輔助的資料夾作為整體架構
他主要分成幾個類別
- Domain
- Infrastructure
- Application
- Interface
Domain
最主要的商業邏輯 不依賴其他層的內容
Interface
與系統外的資源溝通的橋樑 例如
- Rest API
- cron job
Application
在Domain層與Interface層中的界接 主要是用來組合常用的domain層的互動,最後再給Interface層使用
Infrastructure
主要用來隔離一些我們使用的第三方lib 例如
- DB連線
- 第三方授權
- 其他系統的http request
另外,我還有增加幾個也會用到的資料夾
Asset
用來管理需要被打包的實體資源 在這次的專案中,會用於打包swagger的規格檔
DI
用來處理Dependency Injection 這次是使用wire
Cmd
cobra用來處理啟動指令的功能
以上會是我這次整體專案的資料夾架構
下一篇會開始介紹怎麼使用mock的工具,來讓程式在不需要接上資料庫的狀況下,也可以順利的撰寫需要的程式碼