間違いだらけのデザインパターン

http://itpro.nikkeibp.co.jp/article/COLUMN/20060526/239122/

オブジェクト指向開発におけるものとしては,その名も「デザインパターン」という書籍に掲載されている23種類のデザインパターンGoFデザインパターン)注3)が最も有名だ。

実質的にはこれ一つしかない.

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

JavaUMLなどについての知識がないと,この内容を理解するのは難しいだろう。ひとまずここではデザインパターンの概要と,その重要性を知っておいて欲しい。

GoFの「デザインパターン」,いわゆるGoF本はJavaUMLが登場以前に作られている.GoF本自体がC++とOMT(風)記述*1を使って書かれている.よってJavaの知識もUMLの知識も必須ではない.C++Smalltalkなどのオブジェクト指向言語の知識くらいは必要だと思うが、UMLについては全く不要だ.

オブジェクト指向設計を行っている最中に問題に直面したとき,

オブジェクト指向設計」は時間のムダなのでお奨めしない.

もしデザインパターンのどれかに,直面している問題の解決策が定義されていれば,適切なクラス構造を設計できる可能性が高まる。

一流の開発者であれば,問題が発生した時に自分流でやっても答が見つかることは多いだろう.だがその時にGoF本を参考にすることで,自分が気付かなかった問題点やより洗練された解決策があることを教えられるかもしれない.そういう意味ではGoF本を参考にすることは意義がある.

初心者であれば,自分流にやっても満足な解決策が見つかることは滅多にない.そういう人はまずGoF本を参考にして,そこから使えるパターンがないか探してみよう.見つかればそれで良し.見つからなかった時に初めて次の手を考えれば良い.

*1:だったと思う.GoFを理解するにはOMTだろうがUMLだろうが全く関係ない.UMLに対する理解なんて正にどうでもいい話なのだ.UMLを理解するのに時間を浪費するくらいなら,コードの一つも書いた方がまだマシ.