MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

C++によるデザインパターン21: Proxyパターン

増補改訂版 Java言語で学ぶデザインパターン入門

増補改訂版 Java言語で学ぶデザインパターン入門

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

  • 作者: エリックガンマ,ラルフジョンソン,リチャードヘルム,ジョンブリシディース,Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides,本位田真一,吉田和樹
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 1999/10
  • メディア: 単行本
  • 購入: 21人 クリック: 711回
  • この商品を含むブログ (212件) を見る


Proxyパターン

Proxyパターンは、

あるクラスの代理人(プロキシ)のクラスを作成する

デザインパターンです。


あるクラスを使用する時に、

そのクラスを生成するのに、

非常に時間やメモリを消費するとします。


しかし、時間やメモリの消費する理由が、

クラスのある一部の機能によるものであり、

それ以外の機能のみを使用したいのに、

クラスを実体化するのは無駄です。


そこで、そのクラスのプロキシクラスを作成し、

使用したい部分の処理のみを

同じインターフェースで実装します。

そして、使用しない一部の機能は

元のクラスのオブジェクトを逐次的に生成して

利用できるようにします。


これによりプロキシクラスを使用する人は、

ある一部の機能しか使用しない場合は、

非常に高いパフォーマンスを得ることができ、

もし、それ以外の残りの機能を使用したい場合も

いつも通りのパフォーマンスで処理を行うことができるのです。


C++によるサンプルコード

下記のGitHubページにて公開しています。

cpp/Proxy.cpp at master - AtsushiSakai/cpp