HTTP::MobileAgentのプラグイン機構を付けるとしたら、どんな風なのがベストなんだろうかと考えてみた。
多分プラグインとしてやりたいこととしては大枠で以下の2つだろう。
- 今の実装では取得できない値を取得するための新しいメソッドやアクセサを追加する
- User Agentの解析にある処理を挟む
で、これらをやるためにはどのようなプラグイン機構がいいのだろうか。
- Plaggerとかみたいなhookを各所に設ける
- Catalystみたいに NEXT を使って連鎖させていく
- Class::DBI::Pluginみたいにimportでやや強引に追加できるようにする
1は必要かもしれないけど、あんまり需要がなさそうな気もする…。
2はいろんなプラグインがでてくるとわけわかめになりそう
3があれば、とりあえずしばらくはもちそうな気もする。
さてどうしようか。