Catalystプラグインが乱立した理由について
Catalyst::Plugin::* になにを置いていいのか、というのがわかりにくかったというのはある。今は方針があきらかになってるからいいけど。
View にたいするプラグインも、Controller にたいするプラグインも、Request も Engine も Context も。ぜんぶ Catalyst::Plugin::* においてある。だから混乱したんじゃないでしょうか。
http://d.hatena.ne.jp/tokuhirom/20080605/1212624726
これは本当にそうだなぁと思います。
フックポイントにhookするようないわゆるプラグインもあれば、コンテキストにメソッドはやすだけのものもあればもあったりと、色々なものがプラグインという形でごちゃまぜになっています。
一般的には、フレームワーク側がプラグインを制御するという、いわゆる制御の逆転がおきる形のものをプラグインというのかなとは思っています。その点、Catalystはそのようなプラグインでないものまでもプラグインという形で提供する事にしてしまったというのが、カオス化したことの原因なんだろうなぁと思います。