デザインパターン:パターンで飾ら

デコレーターアプリケーションシナリオの カバーは、拡張、 IS-A、フロントは、書き込み -エージェント 

Decoratorパターン( Decoratorパターン)が継承された代替物(オリジナル目的関数の拡張)よりも柔軟性を提供、オブジェクトに追加機能と、元のオブジェクトを変更せずにベースを指し 

コードプログラムでデコレータは、次のシナリオに適用されます。

1、クラスまたはクラスの拡張のための追加機能を追加します。

2は、動的オブジェクトが関数に追加され、これらの機能を動的に取り消す再であってもよいです。

 

コード例:継承(長手方向の延長)、装飾(スケール)

 

 

 

 

 

 

 

 

 

 

 

 

コントラストとアダプタで飾ら

 

 

Decoratorパターンの長所と短所

利点:

図1は、デコレータは、次のオブジェクトの拡張、プラグアンドプレイに元のオブジェクトの動的にケースを変更することなく、継承より柔軟強い補体を、継承されました。

2、異なる組み合わせおよびこれらの装飾装飾の順列を使用して、さまざまな効果を達成することができます。

3、デコレータ開閉の原則に完全準拠。

短所:

1、プログラムの複雑さを増す、より多くのコード、複数のクラスが存在します。

2、動的な装飾、より複雑な多層装飾。 

 

おすすめ

転載: www.cnblogs.com/LPJ-BLOG/p/12444497.html