
私たちはみな、市販のライブラリやフレームワークを使用しています。その
API
を使ってコードを書いてプログラムに
コンパイルし、他の誰かが書いた多くのコードの恩恵を受けます。
Java API
と
API
で使えるすべての機能(ネットワーク、
GUI
、
IO
など)を考えてみましょう。ライブラリやフレームワークは、コンポーネントを選び出して適切に組み込める
開発モデルに大いに役立ちます。しかし、保守性と柔軟性が高く理解しやすい方法で独自のアプリケーションを構築する
には役立ちません。そこで、デザインパターンの登場です。
デザインパターンはコードに直接入り込むのではなく、まずみなさんの頭の中に入り込みます。頭の中に適切に機能す
るパターンの知識をロードすれば、新しい設計にそのパターンを適用し始めることができます。コードが柔軟性のない乱
雑とした状態に悪化しつつあることがわかった時点で、古いコードを書き直すこともできます。
どうやってデザインパターンを使うの?
あなたの脳
デザインパターンを
使って改良された新し
いコード
swim()
display
()
performQuack()
performFly()
setFlyBehavior()
setQuackBehavior()
// OTHER duck-like
methods...
Duck
FlyBehavior flyBehavior;
QuackBehavior quackBe
havior;
<<interface>>
FlyBehavior
fly()
fly() {
// implements ...