Python-design-patterns-decorator
提供:Dev Guides
Pythonデザインパターン-デコレータ
デコレータパターンを使用すると、ユーザーは既存のオブジェクトの構造を変更せずに、新しい機能を追加できます。 このタイプのデザインパターンは、既存のクラスのラッパーとして機能するため、構造パターンの下にあります。
このパターンはデコレータークラスを作成します。デコレータークラスは元のクラスをラップし、クラスメソッドシグネチャをそのまま保持する追加機能を提供します。
デコレータパターンの動機は、オブジェクトの追加の責任を動的に付加することです。
デコレータのデザインパターンを実装する方法
下記のコードは、Pythonでデコレータデザインパターンを実装する方法の簡単なデモです。 この図には、クラス形式のコーヒーショップのデモンストレーションが含まれています。 作成されたコーヒークラスは抽象であるため、インスタンス化できません。
コーヒーショップの抽象クラスの実装は、下記のように別のファイルで行われます-
出力
上記のプログラムは、次の出力を生成します-