知識倉庫@日々徒然

基本設計(アーキテクチャ)成果物

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

ビジネスロジックをプラットフォームから切り離す仕組み

  • 例えば、開発中のシステムがWebシステムであるなら、ビジネスロジックには一切Web(J2EE)を意識させないようにする。
    • ビジネスロジックが実装するフックメソッドには、抽象化されたMapやBeanを渡すのが良い。

MVCに従った仕組み


プラットフォーム以外の共通機能(認証/トランザクション管理/ロギング)をビジネスロジックから分離する仕組み


個別共通機能

和暦⇔西暦変換ユーティリティ

ロギング

排他制御

悲観的排他処理

  • 一覧取得時にロックを取得
  • select ~ for updateを使用可能なインタフェースを用意する
    • 実質、テーブルロックになってしまうため、パフォーマンスが悪化。使い所に注意。

楽観的排他処理

  • Template Methodパターンを用いて以下の○の処理をフレームワーク化する。判断ロジックのみ変更可能としておく。ロジック入れ替えにはStrategyが使用可能。
    • 編集対象レコードの検索時に、検索時刻/最終更新時刻/更新IDなどを取得する
    • 編集画面内で編集する
    • ○更新処理時に対象レコードを再取得
    • ○対象レコードが編集開始時から変更されていないことを確認、更新可能かを判断する
    • ○更新可能であった場合、更新する

DAO

ページング制御

  • リザルトセットの中の指定行範囲を取り出せるようにする。
    • nextをまわして対処。

論理削除機能

柔軟な検索条件の指定

  • SQL文後半を追加できるようにする。
  • SQL文構造をクラスで表現する。

トランザクション

認証

共通エラーハンドラ

共通例外クラス

二重ログインチェック

マスタ系のキャッシュ

プロパティのキャッシュ


各種ガイドライン

例外処理指針

コード付与指針

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

記事メニュー
目安箱バナー