先日購入した「アジャイルソフトウェア開発の奥義」を試験勉強の合間に少しずつ読んでるんやけど、この書籍を読んでてつくづく思うが、自分も以前から感じていた疑問に対する答え又は例が次々と出てくることにまずは驚いた。
「UMLダイアグラムは設計の一部ではあるが、設計そのものではない」
プロジェクトに途中から入ると巨大なクラス図を見せられることがある・・これは読み解くのも難解だが、いざソースを書いていくと少しの仕様変更によって、いとも簡単に崩壊していくことがよくある。
それは往々にして"未来の為の備え"と称しての過剰設計 (過度のデザインパターンの当て嵌め等) や、最初に静的設計ありきでそれ以降の変更は極力許さないというオブジェクト指向設計を絶対とする考えが根底にあることが多いように思う。
前半部分によく巷のオブジェクト指向入門書籍で取り上げられているShape(図形)を表す継承サンプルを例にして顧客の仕様変更によって、いとも簡単に設計が崩壊していく様が取り上げられている。
「私を一度欺く者には恥あれ、私を二度欺くことあらば私に恥あれ」
まずは不必要な複雑さが入り込まないようにシンプルに設計を行い、結果として仕様の変更が起こった時になってはじめて、同じような種類の変更があった場合を想定して、デザインパターンなり抽象設計なりを導入するべし。
自分が以前面談でストイックさんに話したのは、このことを言いたかったわけだ。
(もう少し早く読んで、頭の中を整理しておけば良かった・・)
それにしてもこの書籍はすんばらしいなぁ〜まさに奥義書だわ(^^)
Posted by GAMMARAY at 2005年01月29日 17:49 | TrackBack