MyEnigma

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

C++によるデザインパターン20: Flyweightパターン


Flyweightパターン

Flyweightパターンは、

同じオブジェクトを使いまわせるようにする

デザインパターンです。


ある文章を生成するソフトにおいて、

それぞれの文字の一つ一つのために

オブジェクトを生成すると

メモリの消費量が増大してしまいます。


Flyweightパターンでは、

オブジェクトのDBを作成しておき、

DBにないオブジェクトが必要になった時だけ

新しいオブジェクトを作るようにします。


これにより無駄なオブジェクトの

メモリを消費抑えることができます。

また、使用する側はそのような処理をしていることを

意識しないで処理を実施することができます。


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

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

cpp/Flyweight.cpp at master - AtsushiSakai/cpp

MyEnigma Supporters

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

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

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

myenigma.hatenablog.com