Java で Webサービスを開発する際、プロジェクト構成に制約を設けるためのサンプルプロジェクトである
- Clean Architecture をベースにしたプロジェクト構成
- おおまかなプロジェクト構成は以下の通り
- EndPoints
- Application
- Domain
- Infrastructure
- Providers
- Shared
- パッケージを細分化することに依存の方向を限定する
- 例えば、
Domainパッケージは他のパッケージに依存しない ApplicationパッケージはDomainパッケージに依存するが、DomainパッケージはApplicationパッケージに依存しないEndPointsパッケージはApplicationパッケージに依存するが、ApplicationパッケージはEndPointsパッケージに依存しないInfrastructureパッケージはApplicationパッケージに依存するが、ApplicationパッケージはInfrastructureパッケージに依存しないInfrastructureパッケージはProvidersパッケージに依存する可能性があるが、ProvidersパッケージはInfrastructureパッケージに依存しないProvidersパッケージはEndPointsパッケージに依存する可能性があるが、EndPointsパッケージはProvidersパッケージに依存しないSharedパッケージは他のすべてのパッケージに依存される可能性がある
- 例えば、