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の違いを区別できてなかったのか・・・
みんなの突っ込み †