Webアプリケーションフレームワークでは、プレゼンテーションを司るViewと アプリケーションを司るLogicの分離が行われることが多い。
プレゼンテーションはデザイナーに任せ、 アプリケーションロジックはプログラマが担当することで、 適切に分業が行われることが望ましい、ということだ。
で、ViewはHTMLのテンプレートで行われることが多い。
が、ViewそのものにLogicが必要なケースがある場合はどうだろう。 よくある例では、テーブルの各行ごとに色を変えて見易くすることがある。 奇数行めと偶数行めでバックグラウンドカラーを変えるロジックは、 ドメインとしてはViewに属するに違いない。少なくともアプリケーションドメインではない。
しかし、HTMLテンプレートでは記述できないし、するべきではないだろう。 なんのためにテンプレートを導入したか分からなくなるからだ。
では、このようなロジックはどこに所属すべきか。
夏休みで末の弟が遊びに来る。弟は私とより子供たちとの方に年齢が近いので、意外と話があっていたようだ。