Tsantalisというデザインパターン検出ツールが「edubase Stream ソフトウェアパターン第9回ツール活用」で紹介されていた。
デザインパターン検出ツールとは、既存のソフトウェアについて既知のパターンが適用されているかどうかを検出するツール。
既存のプログラムの理解を容易にし、プログラムを修正しやすくなる。
TsantalisはJavaのクラスファイル集合から12のGoFデザインパターンを検出する。
複数のデザインパターンの重ね合わせを扱うことができ、軽快で精度がいい。
割り切れば使える、とのこと。
Tsantalisが検出する仕組みは、対象ソフトウェアをグラフ化し、既知デザインパターンのグラフが含まれるかを判定する。
部分グラフの同型判定問題である。
規模の大きいJavaプログラムを読む時には、試してみる価値がありそうだ。
『増補改訂版Java言語で学ぶデザインパターン入門』は、今まで読んだデザインパターンの入門書の中でもっともおすすめできる本。
『最短経路の本』は、グラフ理論の入門書として有名な本です。
グラフ理論を全く知らない人が初めて読む本として最適です。