MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

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

Proxyパターン

Proxyパターンは、

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

デザインパターンです。


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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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

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


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

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

cpp/Proxy.cpp at master - AtsushiSakai/cpp

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com