読者です 読者をやめる 読者になる 読者になる

MyEnigma

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

C++によるデザインパターン14: Chain Of Responsibility パターン

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

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

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

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

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


Chain Of Responsibility パターン

Chain of Responsibilityパターンは、

段階的なクラス群を用いて

処理を実施するデザインパターンです。


具体的には、ある処理において、

まず初めに、一番元となるクラスが処理を試みて、

その処理を、このクラスでは実施出来ない場合には、

次のクラスに処理を実施させます。

そして、次のクラスも処理できない場合は、

そのまた次のクラスに処理を実施させます。

このように、クラスの責任(Responsibility)を

鎖(Chain)で繋いだような処理を行うのです。


このようにクラスをリスト型で繋いで処理することで、

段階的な処理を実施したい時に、

巨大なif-then文を使用しなくてよくなり、

また、新しいif-then処理をしたいときには、

新しいクラスを作成して、

リストに追加するだけで処理ができ、

他のクラスを変更しなくてよくなります。

つまり、ソフトの再利用性が向上させることができるのです。


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

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

cpp/ChainOfResponsibility.cpp at master - AtsushiSakai/cpp

参考資料

myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com


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

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

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

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

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