なぜ名前“ Decorator”デコレータのデザインパターンに?

StackOverflow https://stackoverflow.com/questions/414251

質問

「Decorator」という名前の理由を誰でも説明できますか?デコレータのデザインパターンによって伝えられる機能に選ばれましたか?

その名前はデコレータとマーキングインターフェースの音が私と非常に似ているため、その名前はかなり誤解を招くものであることが常にわかっています。ただし、マーカーは実際には「何もしません」が、デコレーターは確かに「何もしません」。ただし、装飾という用語は受動性を意味します。これは、機能を追加するために使用されるこのパターンには当てはまりません。

役に立ちましたか?

解決

この用語の起源は、スクロールバー、閉じるボタンなどのさまざまなコンポーネントでユーザーインターフェイスを装飾する使用例から来ていると思います

編集:「C#のデザインパターン」のリファレンスページ308スティーブン・ジョン・メッツカー:

  

DECORATORの元のアプリケーションの1つ(おそらくDECORATORの名前の由来となるアプリケーション)は、GUIコンポーネントの構築にあります。

他のヒント

アナロジーは、家を飾るとき、壁などを実際に壊すことはなく、見た目を変える方法で(必要なだけ)何かを置くだけだと思いますその機能)。この言葉は、邪魔にならないことを意味するために選択されたものであり、オプションの言葉でもあると思います。

デコレータ" decorates"既存のメソッドに追加機能を追加することによるインターフェース。ただし、実際には独自のメソッドを追加することはありません。装飾は基本機能に不可欠ではありません。それ以外の場合は、基本クラスに組み込まれます。

既存のオブジェクトに新しい機能を追加しているからです。本質的に、あなたは「装飾」しています。新しい機能を持つオブジェクト。

ねえ、名前を作るためにオタクに任せてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top