あるクラスがあって、その機能を少しだけ拡張したいとしよう。オブジェクト指向では、このようなときにはサブクラスを作って対応する。もちろんこれはとても有効なのだが、サブクラス化が適切ではない場合もある。たとえば、対象となるクラスが ...
GoFデザインパターンは、優秀な4人の開発者がたくさんのプログラミング経験の中で、繰り返して利用したプログラムのパターンを、再利用可能な23個のデザインパターンとして整理したものです。 GoFデザインパターンを利用することで、拡張性・保守性の ...
Decorator パターンは、オブジェクトに動的に新しい責務 (機能) を追加するためのデザインパターンです。既存のクラスを修正せずに、オブジェクトの機能を拡張できます。 これだけではピンときませんよね。 簡単な例を考えてみます。 例えば、プレーン ...
前回はObjective-CにおけるDecoratorパターンの実装を解説した。今回は、例によってCocoaでのDecoratorの実例を紹介しよう。 Decoratorパターンの発想は、GUIフレームワークのスクロールビューやボーダービューから得られたものだろう。ここでの実例探しも ...