Catalystプラグインが乱立した理由について

Catalyst::Plugin::* になにを置いていいのか、というのがわかりにくかったというのはある。今は方針があきらかになってるからいいけど。

View にたいするプラグインも、Controller にたいするプラグインも、Request も Engine も Context も。ぜんぶ Catalyst::Plugin::* においてある。だから混乱したんじゃないでしょうか。

http://d.hatena.ne.jp/tokuhirom/20080605/1212624726

これは本当にそうだなぁと思います。

フックポイントにhookするようないわゆるプラグインもあれば、コンテキストにメソッドはやすだけのものもあればもあったりと、色々なものがプラグインという形でごちゃまぜになっています。

一般的には、フレームワーク側がプラグインを制御するという、いわゆる制御の逆転がおきる形のものをプラグインというのかなとは思っています。その点、Catalystはそのようなプラグインでないものまでもプラグインという形で提供する事にしてしまったというのが、カオス化したことの原因なんだろうなぁと思います。