2008年3月10日月曜日

Spring Frameworkの調査 -Introduction-

JavaでWebアプリケーションを開発することになったのでSpring Frameworkを調査してみました。

従来のMVCフレームワークの問題点とSpring Frameworkによるその解決

従来のMVCフレームワークには以下のような問題点があるようです。

  • レイヤー間の結合が密
    • 変更に弱い
    • レイヤー単体のテストが困難
  • トランザクションコード(データベースのトランザクションを管理するコード)が散在

Spring Frameworkを利用するとどうなるのかというと

  • 各レイヤーをインタフェースベースで連結するためレイヤー間の結合が疎
  • トランザクションコードをビジネスレイヤーから分離することができる
    • AOP(Aspect Oriented Programming)
その結果、機能拡張が容易になったりレイヤーごとの単体テストが実施できるようになったりするようです。

DIについて

DIはオブジェクトとオブジェクトを何らかの方法で関連付けし、関連付けられたオブジェクトを利用する側のオブジェクトでは、呼び出されるオブジェクトのインタフェースを利用してメソッドをcallすることになるので、オブジェクト間の結合が疎になります。

AOPについて

AOPはオブジェクトのメソッド実行時に動的に振る舞いを入れ込むことで、オブジェクトが本来処理するべき内容とそうでないものを分離することです。
例えばビジネスロジック内でDBアクセスを行うメソッドがある場合、そのメソッドの処理前と処理後にトランザクション開始とコミットの処理を動的に埋め込むことができるようになります。

0 件のコメント: