<< 実践 Domain-Driven Design : 属性は Value Object | main | 実践 ソフトウェア・アーキテクチャ : パーティショニング >>

実践 ソフトウェア・アーキテクチャ : アリモノを活用する

私たちが使っている主なフレームワーク

・Spring Web Flow ( 2.0 )
・Spring MVC
・Velocity

・Spring DAO
・iBatis

・Spring Security

Model と View

Web アプリケーションの画面の制御やセッション変数の管理はかなり面倒。入力フォームでブラウザのバックボタンの処理も悩ましい。
Spring Web Flow を使えば、ここらへんは全部、約束事と道具が揃っているので、楽ができる。

ドメインオブジェクト( Model ) の画面への表示 ( View ) は同じことをしょっちゅう書くし、細かい変更が多い。
Spring MVC と Velocity を使えば、画面へのレンダリングの書き方が定型化、単純化できる。
入力フォームをドメインオブジェクトにバインドする、入力データの妥当性検証も、Spring MVC の Data Bind の仕組み、Validator インタフェースを使えば、コードの見通しが良くなる。

Control

画面制御( Control ) は、Spring MVC だと、いろいろな書き方ができてしまい、コードが読みにくく、変更しにくい。
Spring Web Flow 2.0 だと、簡単な XML でコードをパターン化して整理できる。

O-R マッピング

ドメインオブジェクトの値を取り出し SQL を生成し実行。 SQL の処理結果をドメインオブジェクトに詰め込む。同じパターンだけど、読みにくいコードがあちこちに散在する。

Spring DAO と iBatis を使うと、この O-R マッピングの部分を完全に分離して記述できる。読みやすく、変更しやすい。

セキュリティ

ユーザ認証や権限の管理は、アプリケーションを横断する別の関心ごと。
Spring Security を使えば、アプリケーションのコードから、認証・権限部分を完全に分離できる。読みやすく、変更しやすくなる。

---

私たちが、レイアアーキテクチャを採用しているのは、教科書的な話ではなく、定評のあるアリモノ(フレームワーク)を使って、開発で楽をしようとした結果といえる。

それらのフレームワークが想定し、実践しているアーキテクチャがレイヤアーキテクチャなので、フレームワークを活用しようすれば、それにあわせたほうがやりやすいから。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
     12
3456789
10111213141516
17181920212223
24252627282930
<< September 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
  • 番号より名前。 ニーモニックコードより名前。 【パターン】
    師子乃 (03/10)
  • Smart UI が優れている?
    masuda220 (03/10)
  • Smart UI が優れている?
    kagehiens (03/09)
  • オブジェクト指向プログラミングの教え方?
    masuda220 (12/05)
  • オブジェクト指向プログラミングの教え方?
    ZACKY (12/04)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    kompiro (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    JHashimoto (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (02/28)
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM