私が提供したデコレータパターンに関するセッションには、提供されているほとんどの例がjava.Toにありました。例の下の例では、ピザオブジェクトは2つのトッピングで装飾されています。私はここで私はmakePizza機能は2つの機能で飾られていることがわかりますが、それは多くのことを異なりますが、このpythonデコレータはデコレータパターンを厳密に実装していますか?
@applyTopping2
@applyTopping1
makePizza():
pass
のようなシナリオで使用されているデコレータを見てきたPythonで
Pizza vegPizza = new ToppingsType1(new ToppingType2(new Pizza()))
javaのクラスベースのアプローチから。 私の質問は、pythonデコレータは厳密にデコレータパターンを実装するのか、または実装は少し異なりますが、アイデアは同じです。
PS:私はデコレータの標準的な定義を検索する場所を確認していないpattern.thoughウィキペディアあなたは動的言語(JS)に例を示しますが、私の質問はまだ良い:)
Pythonデコレータもクラスになることはありません。 – jsbueno
*デコレータパターン*を厳密に実装していますか?デコレータの外観は標準的な定義がありますか? – Constantinius
「厳格なデコレータパターン」が何であるかの定義を得ることには、あなたの負担があると思います。 (そして、Pythonのファンは厳密性が無関係で、Pythonのアプローチを守る理由を説明することができます:-)) – jsbueno