1

デコレータとシングルトンパターンの違いを理解しようとしています。たとえば、Rubyでシングルトンパターンを実装したい場合は、シングルトンクラスを使用できます。しかし、ウィキペディアでデコレータパターンについて読んだとき、その場合もシングルトンクラスを使用するように感じます。

4

2 に答える 2

3

シングルトン パターンでは、クラスのインスタンスが常に 1 つだけ (または限られた数のインスタンス) しか存在しないことが保証されます。一方、Decorator パターンは、オブジェクトの「スキン」を変更することによって、オブジェクトに機能 (責任) を動的に追加するためのメカニズムです。シングルトンは創造的なパターンですが、デコレーターは構造的なパターンです。

この 2 人の間に共通点はあまりありませんが、混乱の原因は何ですか? Ruby の Singleton モジュールを使用する前に少し待ってください。実装の詳細について考える前に、元の本に直接アクセスして基本的な概念を理解することをお勧めします。

于 2013-01-27T03:06:10.040 に答える
0

Decorator は、対象オブジェクトの動作を強化することを目的としたオブジェクト ラッパーです。アイデアは、デコレータ オブジェクトをラップされたオブジェクトの代わりとして使用できるということです (プロトコルを尊重する必要があります)。

于 2013-01-27T03:25:49.970 に答える