昨今注目を集めているドメイン駆動設計をScalaで実装するにあたり、どうしても実装や技術の都合がドメインに入り込んでしまうことがよくあります。
たとえば非同期処理のためのExecutionContextや、DB接続のためのトランザクション情報などがよくある例かと思います。
そういった問題を、Scalaが持つ豊富な言語機能、さらには関数型プログラミングの力を利用して解決を目指します。
もう少し具体的なテーマとして、ドメイン駆動設計とレイヤードアーキテクチャを組み合わせてWebアプリケーションを実装する際に、Scalazやcatsが提供するMonadを用いてドメイン層のインタフェースの抽象化を目指します。
参考: https://fringeneer.hatenablog.com/entry/2018/11/01/100531
票中 票投票済み