bouzuya.hatenablog.com

ぼうずやのにっき

実践ドメイン駆動設計をよんでいる

実践ドメイン駆動設計 (IDDD : Implementing Domain-Driven Design) を読んでいる。

昨日 ([2016-04-05][]) に続き、読んでいる。 9 章まで読んだ。

  1. DDD への誘い
  2. ドメインサブドメイン、境界づけられたコンテキスト
  3. コンテキストマップ
  4. アーキテクチャ
  5. エンティティ
  6. 値オブジェクト
  7. サービス
  8. ドメインイベント
  9. モジュール

ここまでの章は上記のとおり。ずいぶんと進んだ。

OO な DDD ではなく、 Functional な DDD にできないかを考えながら読んでいる。Entity は不変オブジェクトでないし、Event の Publish が副作用を前提としているような……。核となる概念を役立つ形で取り入れられれば、それで良いけど、なかなか難しそうではある。

b-o-a は Event に支配されているし、本気でやればほとんど関数型っぽく書ける。 Redux は Reducer こそ関数型っぽいけど、redux-thunk を使うと Middleware の処理する関数が副作用前提になるんだよね……。