10年間本棚で眠ってた本、いい加減読もうと思った!【Spring入門 第1章】#2
はい、前回の続きです!
読むことにした本はこちら↓
**Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ**
約10年本棚で眠っていたやつですね。
ライブ配信動画はこちら↓
Javaエンジニア向け 勉強配信 【Spring3入門】10年放置してた本をついに開封!!#2
1.5 アプリケーションアーキテクチャ
アプリケーションアーキテクチャは、システム全体の構造を定義する重要な概念です。本書では、以下のようなテーマが語られていました:
構造設計の重要性
アプリケーションアーキテクチャを理解することは、システム開発において基盤となる部分を構築する鍵です。ユーザーインターフェースの設計
ユーザーがシステムを使いやすくするための設計が求められます。データベース設計
データの効率的な保存と取得を可能にする仕組みを考える必要があります。
特に「アプリケーションの柔軟性」を保つことが重要とされており、機能追加や変更に対応できる設計が求められる点が印象的でした。
■3層レイヤの図↓
■凹型レイヤの図↓
1.6 プレゼンテーション層の役割
プレゼンテーション層は、ユーザーとの接点となる部分であり、以下の役割を担っています:
データ表示と入力
ユーザーが操作する画面を通じて、データの表示や入力を行います。柔軟性の重要性
ユーザーの要求やUIトレンドの変化に迅速に対応できる設計が必要です。
この層が疎結合で設計されていると、他の層と独立して変更や改良が可能になります。
1.7 ビジネスロジック層の役割
ビジネスロジック層はシステムの心臓部であり、以下を担います:
業務ルールの管理
ビジネスのルールや処理を集中して記述します。再利用性の確保
ロジックを分離することで、他のプロジェクトや部分で再利用しやすくなります。
「ロジックとUIを分けること」が、長期的に見た保守性を大きく向上させると学びました。
■トランザクションスクリプトの図
■ドメインモデルの図
1.8 データアクセス層の役割
データアクセス層はデータベースとの通信を担当し、以下の点が特徴です:
データの抽象化
SQLやデータベース固有の処理を隠蔽し、統一的な方法でデータ操作ができるようにします。効率的なデータ処理
データベースのパフォーマンスを最大化し、アプリケーション全体の効率を向上させます。
この層が正しく設計されていることで、データベースの変更がアプリケーションに与える影響を最小限に抑えられると感じました。
■O/Rマッピングの図
■部品化のイメージ