デコレーターアプリケーションシナリオの カバーは、拡張、 IS-A、フロントは、書き込み -エージェント
Decoratorパターン( Decoratorパターン)が継承された代替物(オリジナル目的関数の拡張)よりも柔軟性を提供、オブジェクトに追加機能と、元のオブジェクトを変更せずにベースを指し
コードプログラムでデコレータは、次のシナリオに適用されます。
1、クラスまたはクラスの拡張のための追加機能を追加します。
2は、動的オブジェクトが関数に追加され、これらの機能を動的に取り消す再であってもよいです。
コード例:継承(長手方向の延長)、装飾(スケール)
コントラストとアダプタで飾ら
Decoratorパターンの長所と短所
利点:
図1は、デコレータは、次のオブジェクトの拡張、プラグアンドプレイに元のオブジェクトの動的にケースを変更することなく、継承より柔軟強い補体を、継承されました。
2、異なる組み合わせおよびこれらの装飾装飾の順列を使用して、さまざまな効果を達成することができます。
3、デコレータ開閉の原則に完全準拠。
短所:
1、プログラムの複雑さを増す、より多くのコード、複数のクラスが存在します。
2、動的な装飾、より複雑な多層装飾。