冬のセール!
Proxy

Proxy を Swift で

Proxy 構造に関するデザインパターンの一つで クライアントが使う本物のサービス・オブジェクトの代理として機能するオブジェクト プロキシー を提供します プロキシーは アクセス制御 キャッシングなど 何らかの作業を行なった後 リクエストをサービス・オブジェクトに渡します

プロキシー・オブジェクトはサービスと同じインターフェースを持ち クライアントにとっては 本物のオブジェクトと交換可能です

複雑度

人気度

使用例 Proxy パターンは ほとんどの Swift アプリケーションにおいては あまり見かけませんが いくつかの特殊なケースでは便利です 何らかの既存クラスのオブジェクトに何らかの振る舞いを追加したいがクライアント・コードには手を加えたくない時 かけがえのないものです

見つけ方 プロキシーは 実際の作業はすべて他のオブジェクトに委任します プロキシーがサービスのサブクラスである場合を除き プロキシーのメソッドのそれぞれは 最終的にはサービス・オブジェクトを参照するはずです

以下の例は Swift Playgroundsで利用できます。
Playgroundバージョンを作成してくれた Alejandro Mohamadに感謝します。

他言語での Proxy

Proxy を C# で Proxy を C++ で Proxy を Go で Proxy を Java で Proxy を PHP で Proxy を Python で Proxy を Ruby で Proxy を Rust で Proxy を TypeScript で