DDD / Part II The Building Blocks of a Model-Driven Design


Part II The Building Blocks of a Model-Driven Design 【P63】

要約

複雑な現実の世界を対象にしてモデリングを進め、同時に実装をそのモデルから乖離させずに保つためには、モデルを構成する個々の詳細な要素(部品)に注意することが大切である。この本ではオブジェクト指向や真新しいデザイン原則について述べられるのではなく、これまで蓄積されてきたいくつかの原則(特に責務駆動型設計)が強調される。問題を抱えている多くの現場では、これらの原則が実際には役に立たないように感じられるかも知れない。しかし、それら原則が「どのように」モデリングに影響するのかを十分理解できれば、実践で使いこなすことが出来るようになる。

以下につづく3つの章ではいくつかのパターン言語(ENTITYS,VALUE OBJECTS,AGGREGATES,SERVICES など)を紹介する。それらの相互関係や微妙な差異が如何にDDDのプロセスに影響するかを理解してほしい。これらパターンを利用することで、ドメインの設計をシステムの周辺的な関心事から切り離し、モデルを構成する諸要素の役割を明確化することができる。それは、設計に秩序を与え、チームメンバー間のコミュニケーションを容易にもしてくれる。

担当者のつぶやき

みんなの突っ込み

  • 第一段落では、"shift the emphasis of ..."とあるので、「従来の考え方と強調する点が異なる」ということなのだと思われます。Evansが重要とする点は明らかで、最初に要約されている通り、「(モデルを構成する)個々の要素に関する詳細について注意を払うこと」ですよね。
  • ただ、【従来の強調点は何か?】という点については、文脈と歴史から考えるしかなさそうです。
  • "conventional ideas"が指しているのは、"responsibility-driven design"や"design by contract"など、第三段落で挙げられている本の内容だと理解した上で、これらの考え方が「インターフェイス」もう少し強く解釈すると「構成要素間の関係」について重点をあてるのに対し、Evansは構成要素の性質に着目する、といったところなのでしょうか。 -- 和智? 2008-09-26 (金) 02:57:29

まとめ (議事録)