MyEnigma

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

C++によるデザインパターン15: Facade パターン


Facade パターン

Facade(ファサード)パターンは、

複雑な処理をするクラス群の出力を一つのAPIクラスにまとめ、

ユーザはそのAPIクラスのみを使用するデザインパターンです。


あるクラス群を使用して処理をしたい場合、

そのクラス群のメソッドの呼び出しの順番や、

初期化の方法が複雑な場合、

ユーザはそのクラス群を使用するための方法を理解しなくてはいけないため、

使い勝手が悪くなってしまいます。


そこで、

それらの複雑な使用プロセスをまとめたクラスを作り、

ユーザはそのAPIクラスのシンプルな関数のみを利用するようにすることで、

簡単に、複雑なクラス群を使用した処理が可能になります。


まさにオブジェクト指向の情報の隠蔽をシンプルに実行する

デザインパターンです。


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

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

cpp/Facade.cpp at master - AtsushiSakai/cpp

MyEnigma Supporters

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

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

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

myenigma.hatenablog.com