<< 実践 ソフトウェア・アーキテクチャ : Spring MVC | main | 実践 Domain-Driven Design : Entity と Value Object >>

実践 ソフトウェア・アーキテクチャ : Spring DAO + iBatis

Web 側は、Spring MVC で基本構造を決めたとしよう。

DB 側は、 Spring DAO で基本構造を決める。 Data Access を抽象化したインタフェースで、データアクセスの実装は O-R マッパーを使う。私たちの場合は、 iBatis を使っています。

データアクセスは、 MVC に比べれば、画面遷移とかセッション管理とかの問題がないので、ソフトウェアの構造としては単純。 また、 MVC の Contoroller のように、コードをごりごり書くような場所はないので、比較的安心。

もっとも、テーブル設計によっては、O-R マッピングがたいへんなことがある。
既存システムのテーブル設計だけでなく、新規に作成したテーブルも、問題のあるケースが多い。

原因としては、
・問題領域の分析が未熟
・オブジェクトの設計が脆弱
・データモデルとテーブル実装の知識・経験が不足
などが重なった結果でしょうね。

結果として、SQL 文でごりごりがんばったり、データアクセスオブジェクト内のコードでごりごりがんばる。

こういうごりごりコードがはびこりだすと、もう、理解不能で変更不能のソフトウェアにまっしぐら、ですね。

これは、レイヤ構造のアーキテクチャの問題ではありません。クラスの分析・設計の問題ですね。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM