iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
自我挑戰組

2023年度學習分享系列 第 5

DDD規劃及參考

  • 分享至 

  • xImage
  •  

文章未來將更新於:
https://kevinyay945.com/golang-project-design/2023/project-for-ddd

在接下來這個專案中,因為我希望可以達到的是盡量讓每個階段都可以做到比較好的職責分離,所以我這次想採用這篇文章所規劃的DDD來進行資料夾的架構規劃,另外再外加一些輔助的資料夾作為整體架構

他主要分成幾個類別

  1. Domain
  2. Infrastructure
  3. Application
  4. 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的工具,來讓程式在不需要接上資料庫的狀況下,也可以順利的撰寫需要的程式碼


上一篇
專案中的Cobra&Viper設定
下一篇
mock工具介紹
系列文
2023年度學習分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言