質問: swiftのデコレータデザインパターン 私は「ヘッドファーストデザインパターン」を読んでいます( ここで、本に記載されている正確な例を見つけることができます )デコレーターのデザインパターンを試してみたところ、私がすべてになるまですべてがくっきりと明確でした これに遭遇しました 彼らはデコレータを使用して説明しています extensions。クラスにプロパティを追加できないため、「拡張機能」を使用してクラスを拡張してもデコレータのデザインパターンは得られないと思います。私が理解しているように、デコレータの鍵は他のオブジェクトを無限にラップできることですが、ここでは不可能ですが、継承せずに既存のクラスに機能を追加できます。 委任。ここでの委任は完全に文脈外です。委任自体はデザインパターンではありませんか?
回答: 保存されたプロパティを追加することはできませんが、computedプロパティを追加することはできます。計算されたプロパティは、格納されたプロパティのように機能できます。実際 objcは便利な呼び出しのセットを提供します 実際に簡単ではない場合でも、そうですね...少なくとも、難しくはありません。パフォーマンスは期待どおりではないかもしれませんが、パフォーマンスが重要な場合は、「パターン実装の純粋性」をあきらめて、いくつかのプロパティを適切なクラスに移動する必要がある場合に、プロファイラーから通知されます。