デザインパターン前にも記事を書いたのですが、最近人に説明しよとうとしたら案外覚えてなかったのでどんなものか復習したのでアウトプットしてみました。Proxyパターンとは?GoFのデザインパターンに収録されているパターンの一つです。Proxyは「代理人」という意味を持ちます。ここで言う「代理人」は、実際に処理をする役割を持つ「RealSubject」の代わりに利用することが可能です。RealSubjectが必要になるまで生成を遅延できるというメリットがあります。ProxyとRealSubJectに共通するインターフェースを規定します。RealSubjectへのアクセスを代行するクラスです。実際の処理を行うクラスです。Proxyパターンを使ってみたこのまま上のクラス図をそのままコードに落とすと全く面白くないので、「メッセージを送信」にProxyパターンを適用してみたいと思います。簡単な仕様メッセージはデフォルトではどこにも送信しない。RealSubjectに相当する部分でメッセージを送信する機能を持たせる。クライアントはRealSubjectが必要になるタイミングを知っている技術的なメモ:利用者はRealProxyに当たるオブジェトの存在や生成タイミングは知らない。Peoxyに相当するオブジェクトはメッセージを送信する際にRealSubjectに相当するオブジェクトを生成する。RealSubjectはオブジェクト生成にコストがかかる。}}補足:オブジェクトの生成にコストがかかるという例えをコンストラクタの呼び出しに時間がかかるように表現しましたが、イニシャライズのメソッドに時間がかかるものでも同じかと思います。まとめ必要になったらインスタンスを生成しますが、利用者からはそんな事は関係なく利用できますね。画像、ネットワーク、遠隔地のデータベースなどの操作を隠蔽するのに向いているかと思います。参考書籍この記事は、以下書籍を参考にして作成しました。»Profile受託ソフト会社員でWin系業務屋。趣味でCocos2d-x/C++を触っています。etc...主に受託・開発ネタ、Windowsの事、Srellaris、ゲーム制作の進捗の事を喋ります。Core3.xとUnityでAES暗号化を利用するC#の標準機能でデータを圧縮・展開するC#で属性を利用して処理に制約の説明を追加するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。