3-5 ショッピングサイトを作ろう

第三章のこれまでの節で断片的に実装してきた機能が、この節で統合されます。基本的な画面遷移は、htmlタグの中で指定されたURLを、HandlerMappingを使ってコントローラに振り分ける仕組みになっています。セッションには、ユーザーオブジェクトとカートオブジェクトをセットして、それをWebUtilsクラスのgetSessionAttributeメソッドを使って取得しながら、コントローラ内で操作しています。
この節では、MultiActionControllerというコントローラの実装が登場します。設定ファイル内でURLとメソッドをマッピングしてやれば、リクエスト処理毎にコントローラクラスを作成する必要がなくなります。MethodNameResolverの実装クラスを指定して、そこにURLとメソッド名のマッピングを書いて、それをコントローラのプロパティに指定するようです。この節の設定ファイルは、かなりの分量になってきていますが、これらを上手く管理する方法はあるのか、一文字間違えるだけでも上手く動きそうにないけれども、IDEのコード補完などのサポート機能を使うことができるのか、といった点についても調べてみようと思っています。
ドメインオブジェクトの関連性については、詳しく研究できていませんが、それぞれのドメインについて、しっかりとインターフェイスを定義し、それとは別に具体的な処理を行なうクラスを実装する、という作法が徹底されています。こうすることで、各クラスの依存度を落とすことができるということなのでしょう。TDDの勉強をする際に、こういった考え方が大切になるのではと感じたので、しっかりと記憶に留めておきたいと思います。