エンジニアリングにはほど遠い

iPhoneアプリとかサイトとかをつくっていくブログです。

エリック・エヴァンスのドメイン駆動設計

「エリック・エヴァンスのドメイン駆動設計」を読んでいる。設計の本を読んだ事無いからかもしれないけど、めちゃくちゃ面白い。

ドメインモデル

まず、ドメインモデルというのが何なのかよくわからなかったが、「ユーザの活動や関心」のすべてがドメインモデルになりうるという事だと思う。ドメインモデルは物理的な何かを表している事もあれば、実体を含まないものもある。

ユビキタス言語

  • チーム内の共通の言語となるようにこれを作成する。
  • 各クラスの操作の名前とか各モデルについてのルールについての語句など

ドメインの要点を補強する図

  • クラス図とは別に作れる。

レイヤ化アーキテクチャ

  • 構造

    • ユーザインターフェース
    • アプリケーション
    • ドメイン
    • インフラストラクチャ
  • ドメイン層をしっかり分離する事が大事

  • 基本的に上位のレイヤが下位のレイヤを操作し、下位のレイヤは上位の事を気にしてはいけない
  • 下位から上位に処理が流れるときはCallback, Observerなど
  • インフラストラクチャ層に働きかける技術的な処理は「サービス」として提供すべき

ちょっと言葉だけ書いていてもよく分かりませんがとりあえず。明日は第5章から続きを読んでいきます。