https://christina04.hatenablog.com/entry/go-clean-architecture
こちらで
という対応をしました。 当時は試行錯誤の連続でしたが対応から1年程経ち、ある程度設計もfixされてきたので知見をまとめます。
Clean Architectureの図は多くの人が目にしているように以下の通りです。
今回話す内容は青色の部分を除いた
です。
goのリポジトリの構成は以下のようにしています。
.
├── Dockerfile
├── Makefile
├── README.md
├── cmd/
├── codes/
├── config/
├── docker-compose.yml
├── domain/
├── go.mod
├── go.sum
├── interface/
├── mock/
├── proto/
├── registry/
├── usecase/
├── utils/
└── vendor/
各ディレクトリを説明すると以下です。
ドメイン層には大きく以下の要素がありますので、それぞれでpackageを切ります。
個人的な考えですが、DDDはオブジェクト指向の延長です。なので