ドメイン駆動設計を知ろう

Ba8ecb9f1d269e44056ff4e7dca4c5e0?s=47 hidenorigoto
December 15, 2013

 ドメイン駆動設計を知ろう

2013年12月13日開催 第28回 関西IT勉強宴会にて。
※話メインなのでスライドだけでは伝わらないのはご了承ください。

DDDの基盤となる2つのパターン、特にモデル駆動設計について。および俯瞰図。ドメイン工学とアプリケーション工学。

Ba8ecb9f1d269e44056ff4e7dca4c5e0?s=128

hidenorigoto

December 15, 2013
Tweet

Transcript

  1. 第28回 関西IT勉強宴会 (2013/12/13) ドメイン駆動設計を知ろう PHPメンターズ 久保敦啓、後藤秀宣 PHPメンターズ http://phpmentors.jp/ 関西IT勉強宴会 http://www.onas.asia/home/kwansaiit

  2. ドメインとは 知識、影響、または活動の領域

  3. レイヤー ドメインレイヤー アプリケーションレイヤー インフラレイヤー プレゼンテーションレイヤー

  4. ドメイン駆動設計とは 開発のすべてを カバーするものではない 他の手法と相互補完

  5. ドメイン駆動設計とは 他の手法と相互補完 分 析 手 法 開 発 プ ロ

    セ ス パ ラ ダ イ ム ドメイン駆動設計
  6. ドメイン駆動設計とは フレームワーク 語彙

  7. ナビゲーションマップ (1) ग़యɿʰエリックエヴァンスのドメイン駆動設計』 表見返しのパターンナビゲーションマップ

  8. ナビゲーションマップ (2) ग़యɿʰエリックエヴァンスのドメイン駆動設計』 裏見返しのパターンナビゲーションマップ

  9. None
  10. パラダイムとの関係 ドメイン駆動設計 パラダ イムA パラダ イムB パラダ イムC

  11. None
  12. モデル駆動設計 分析 設計 実装 WaterFall

  13. None
  14. モデル駆動設計 分析 設計 実装 DDD モデル

  15. モデルとは

  16. モデルのバリエーション 分析設計技法「三要素分析法」集中講座(2): データ、UI、業務手順の「3要素」をとらえる (1/3) 図1 3方向で見え方がまったく異なる立体の例 ! 渡辺 幸三(2006年05月09日) http://www.itmedia.co.jp/im/articles/0605/09/news085.html

  17. None
  18. None
  19. None
  20. モデル駆動設計 DDD モデル 実装

  21. ドメインモデルとは PofEAAの定義は狭義、限定的

  22. ドメインモデルとは データ 機能

  23. ドメインモデルとは ドメイン定義 概念モデル ドメイン辞書 ユースケース モデル フィーチャー モデル

  24. フレームワーク ・構成要素   (ビルディングブロック) ・しなやかな設計 ・コンテキスト ・蒸留 ・大規模な構造

  25. ビルディングブロック データ 機能

  26. ビルディングブロック データ 機能 データモデル ユースケースモ デル

  27. ビルディングブロック データ 機能 エンティティ 値オブジェクト 集約 ・・・ サービス ファクトリ リポジトリ

    ・・・
  28. モデル駆動設計 DDD モデル 実装 エンティティ 値オブジェクト 集約 ・・・ サービス ファクトリ

    リポジトリ ・・・ エンティティ 値オブジェクト 集約 ・・・ サービス ファクトリ リポジトリ ・・・
  29. モデル駆動設計 DDD モデル=実装 エンティティ 値オブジェクト 集約 ・・・ サービス ファクトリ リポジトリ

    ・・・
  30. まとめ ドメインレイヤーの話 概念フレームワーク パラダイム非依存

  31. !31

  32. !32 ग़యɿʰジェネレーティブプログラミング』 表 2.2 ドメイン工学にもとづくソフトウェア開発

  33. !33 参考文献 エリックエヴァンスのドメイン駆動設計 ジェネレーティブプログラミング ΤϦοΫɾΤϰΝϯεஶʗࠓؔ߶؂༁ʗ࿨ஐӈܡɺ຀໺༞ࢠ༁! ʰΤϦοΫɾΤϰΝϯεͷυϝΠϯۦಈઃܭʱ(IT Architects’Archive ιϑτ΢ΣΞ։ൃͷ࣮ફ) ᠳӭࣾɺ2011ɺISBN 978-4798121963!

    ݪஶɿEric Evans.! Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, 2003. ISBN 978-0321125217 ΫγγϡτϑɾνϟϧωοΩɺ΢ʔϧϦγϡɾ̬ɾΞΠηϯΞοΧʔஶʗ௡ా࢙ٛɺࠓؔ߶ɺேൺಸ܄༁! ʰδΣωϨʔςΟϒϓϩάϥϛϯάʱ(IT Architects’Archive CLASSIC MODER) ᠳӭࣾɺ2008ɺISBN 978-4798113319! ݪஶɿKrysztof Czarnecki, Ulrich Eisenecker.! Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, 2000. ISBN 978-0201309775 マルチパラダイムデザイン δΣʔϜεɾOɾίϓϦϯஶʗฏು ݈ࣇɺۚ୔ యࢠɺӋੜా ӫҰ༁! ʰ৽૷൛ɹϚϧνύϥμΠϜσβΠϯʱϐΞιϯۅݪɺ2009ɺISBN 978-4894715288! [ݪஶɿJames O. Coplien.! Multi-Paradigm Design for C++. Addison-Wesley Professional, 1998, ISBN 978-0201824674