CatalystのControllerレベルでの機能拡張を考える - その2
CatalystのControllerの機能拡張をControllerにしてしまうというのが、どうも気持ちがわるいケースがあるなぁと思っていました。
具体例で考えると、ValidationはControllerのスコープでするのがいいと思うんですが、ValidatorがControllerになっちゃうのが気持ち悪いなぁと。Validator is a controllerではないという気がするんですね。Controllerレベルでやる役割ですが、Controllerそのものではないと思うんですね。
一方、Catalyst::Controller::Resourcesは、Controllerとして実現したほうがいいのかなぁという気がしているんですよね。Pathのマッピングとかをしてくれるからなんですかね。
何をControllerの役割としてmixinするべきなのかというのは、もう少し考えたいかなぁと。多分、Roleがぴたっとはまるケースがありそうだなぁと。validationはその一つなんですが、他にも何かありそうだなぁと。アイデアがもう少しまとまって、実装ができたら本家のほうにも相談してみたいですね。
# #catalyst-devは凄い人が集まってるんですが、なかなか激しいですね。#mooseは温厚な人が多くてまったりムードなんですが。