Catalyst::Pluginを使うべきケース

catalystグループにも以前書いたのだけれど、Catalystプラグイン使うな!じゃなくて、以下の条件を満たすとき以外は使うなっていう話なんだと思うんだなぁ。そういう側面を強調してみるのはどうだろう。

http://search.cpan.org/dist/Catalyst-Manual/lib/Catalyst/Manual/ExtendingCatalyst.pod

When is a plugin suited to your task? Your code needs to be a plugin to act upon or alter specific parts of Catalyst's request lifecycle. If your functionality needs to wrap some prepare_* or finalize_* stages, you won't get around a plugin.

Another valid target for a plugin architecture are things that really have to be globally available, like sessions or authentication.

# 実際問題として、これを満たさないプラグインが多いのは事実だとは思うのだけれど、プラグインを使うなって話ではないってことは書いておいた方がいいんじゃないかなと。