私はUniプロジェクトの一環としてデコレータパターンを初めて使用しています。私が見る限り、このパターンはモジュール式の機能を追加するためのものであるように思われますが、追加されたモジュラーコンポーネントがあるコーヒーやピザメーカーなどの用途で教えてきました。プロパティではなく動作します。デコレータパターン - 複数のラッパーまたは数量プロパティ?
私は両方の用途を最大限に活用しようとしていますが、質問があります。私たちが使っている本の例では(ヘッドファーストデザインパターン)、このパターンはコーヒーショップで使用され、さまざまなコーヒーを作ります。たとえば、ミルク、泡、砂糖、スプリンクルはすべてデコレータです。
同じデコレータを複数回使用したシステム(たとえば、2つの糖分を含むコーヒー)はどのように実装しますか?あなたはコーヒーを巻き戻しますか、または砂糖に量的性質を与えますか?または(私が疑い始めているように)パターンがこのように使用されるように設計されていないので、これは決して問題にならないでしょうか?
デコレータに数量フィールドを追加する傾向がありますが、同じデコレータを複数回適用するという考えは興味深いものです。あなたはそれを両方の方法で試して、あなたが一番好きなものを見るかもしれません。 –