システムをDDDで組み上げる時に、各レイヤー(RepositoryやEntityなど)をscalazやcatsのような関数型ライブラリを用いてどのように組むと良さそうかを試してみました。
DDD本を読んで、今回システムを組む中で設計したのは以下です。
- Domain層
- Entity
- Value Object(VO)
- Service
- Repository(interface)
- Application層(Web Server)
- Repository(implementation)
- Application Service(Use Case)
- Controller