熟練したプログラマなら、ある業務のプログラムを設計するとなったとき、
その業務に適した、その業務固有のアーキテクチャパターンを、
自らの力で生み出せるものだ。
それらは大抵の場合、いくつものパターンが複合されて出来ている。

デザインパターンを覚えたての初心者プログラマの場合、
このパターンをどこかに適用できないかとか、
この部分にどれかのパターンが適用できないかとか、
不自然な設計手法を取るため、設計がいびつで柔軟性がない。

初心者にとってデザインパターンは、目も曇らせる元になり、
上級者にとっては元々不要なものだ。