利用者視点と開発者視点
今回の一連のプラグインの話を見ていても、作る側の視点と使う側の視点で、大分話の視点が違っているのが印象的です。
利用者視点だと、
- 副作用があっても、副作用のないものを作ってから使うなんてことはそもそもしたくない
- 副作用があっても、多くのプラグインを使う訳じゃないから問題ない
- Session, Authenticationとか含めて使っちゃいけないと思っている
作る人視点だと、
- 継承順で動作がかわるなんて、プラグインじゃない!
- application wideにメソッド追加しちゃうの!もっと適切なスコープあるでしょ!
などで、微妙に並行線をたどっています。
どちらの視点もわかりますが、現状では個人的には副作用を意識して使えばいいんじゃないかなとは思います。実際のところは、Plugin使うな!といっても、無い物を全部移植して使いたいと思う人はごく僅かだと思うんですよね。現状の仕組みにのっとった形だと、使うな!というよりも、代替のものを提示するというほうが多くの人にとっては有益なのかなと。
# で、ここまでだと少しつまらないので、プラグインシステム(フレームワークの拡張方法)ってどうしたらもう少し良くなったんだろういうのを考えてみるのが建設的で面白いんじゃないかと思います。