DDD / The Use of Patterns in This Book


DDD

Appendix: The Use of Patterns in This Book (p.507)

本書でのパターンの使い方について。

要約

  • 著者(Evans)が最初に買った車:80年もののプジョー
    • 部品が標準化されているFord、Hondaなら誰でも修理できるが、独特な作りをしているプジョーはムリ
    • 結局、コストの掛からないHonda Civicに乗り換えた
  • 現在のオブジェクト指向設計だけでは、ドメイン開発のための標準となる構成要素が存在しない
    • みんなが、車輪の再発明をやっているのが現状
  • 「すべてがオブジェクトだ」というだけでは、大工や建築家が「すべては部屋だ」と言っているのと同じ
  • 設計要素(建築ならキッチン、寝室、浴室、トイレ、・・・)の組み合わせは、どんなものでも有効とは限らない
    • ex) 寝室+浴室(×)、浴室+トイレ(○)
    • つまり、組み合わせには、暗黙の知識/ノウハウが存在している
  • あらゆる設計活動(建築、車、船、ソフトウェア)で、パターンをベースにすることには以下の意義がある
    • 一般的なノウハウは使い回せるので、固有の要求部分に注力できる
    • 異様に複雑だったり、ヘンテコだったり、というような設計になるのを回避できる
  • パターン言語
    • 70年代に建築家Alexanderにより提唱された
    • 詳細設計のパターン・・・GoF('95)
    • 技術アーキテクチャのパターン・・・POSA('96)
    • オブジェクト指向設計の基礎パターン・・・GRASP('98)
    • エンタープライズアーキテクチャ(?)・・・PofEAA('02)、J2EE('01)
  • 本書におけるパターンの使い方
    • パターン名は全部大文字にする(ex. ENTITIES、VALUE OBJECTS、・・・)
    • 開発チームの共通言語となることを意図している

担当者のつぶやき

  • やたら冗長。ここは1パラグラフくらいで十分な気がする。
  • PofEAAを「エンタープライズアーキテクチャ」のパターンとしているが、違うでしょ? EvansもEAとEAAの違いを区別できてなかったのか・・・

みんなの突っ込み


まとめ (議事録)