9. p Domain Driven Design
p ドメインのモデリングをベースに開発を
行う
p モデルを元に実装、実装をモデルに反映
p ユビキタス言語
9
10. p プレゼンテーション層
p ユーザ向けの情報の表示
p ユーザからのコマンドを受け取って解釈
p アプリケーション層
p ソフトウェアが行うべき仕事を定義
p 実際の処理はドメイン層に委譲
p ドメイン層(モデル層)
p ビジネスの概念、ルールの記述
p 業務アプリケーションの核心
p インフラストラクチャ層
p 上位のレイヤを支える技術的な機能を提供
10
13. p Robert C Martinが提唱
p DDDやUCDDに適したアーキテクチャと言われている
p ビジネスロジックを明確にする
p ビジネスロジックそのものであるユースケースと、
細かい技術的関心が分離される。
p ストアから独立する
p 永続化するツールがファイルでもDBでも、またRDBMSでも
NoSQLでもビジネスロジックに影響が無いようにする
p UIから独立する
p UIは変わりやすい。ビジネスロジックを変えずにwebUIを
コンソールUIに差し替えれるくらいにするべき
p テストしやすくする
p ビジネスロジックはそれ単体でテストできなければならな
い。
13
14. p パターンは進化し続けている
p 新しいパターンの追加
p 既存パターンの改良
p パターンに適したアーキテクチャ
p アーキテクチャも進化し続けている
p パターン、アーキテクチャをプロジェク
トにあわせて取捨選択、カスタマイズす
る
14