20130803 DDD名古屋 ドメイン駆動設計の一部の話とDDD名古屋の話

610 views
523 views

Published on

DDD名古屋 ドメイン駆動設計の一部の話とDDD名古屋の話

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
610
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20130803 DDD名古屋 ドメイン駆動設計の一部の話とDDD名古屋の話

  1. 1. ドメイン駆動設計の すごく一部の話と DDD 名古屋の話 DDD 名古屋 #25 2013/08/03 @RKTM
  2. 2. 自己紹介 ● Twitter : @RKTM ● コミュニティ – ドメイン駆動設計読書会@名古屋 – 名古屋 Scala 勉強会(休止中) – 名古屋アジャイル勉強会 ● 山登りと映画
  3. 3. 今日お話すること ● 「ドメイン駆動設計」って?のすごく一部な 話 ● DDD の情報源など ● ※ オブジェクト指向設計的なことは話さない
  4. 4. 『ドメイン駆動設計』? ● エリック・エヴァンスの 『ドメイン駆動設計』 原著は 2003 年 – http://amzn.to/eLaKbm – 価格: ¥ 5,460 – 発売から 10 年も経ってるが十分価値があ る。 – リアルワールドでの政治や体制や契約や レガシーコードといかに折り合いを付けるかと いう文脈でも染みる本。
  5. 5. ソフトウェア開発の 現場が抱える問題
  6. 6. ソフトウェア開発の現場が抱える問題 ● “ ソフトウェアを書き始める時、 我々は対象を十分に理解しているわけでは ない。” – ソフトウェア開発の伝言ゲームの中で、我々開発者は、ビジネ スの実態をどれだけ理解しているのか。 – 顧客が話していることをこちら側が間違って理解しているかも。
  7. 7. ソフトウェア開発の現場が抱える問題 ● “ 一方、すべてのプロジェクトから知識は流 出している” – 業務をヒアリングした上級 SE() は上流フェーズ () を終え、得 た知識を断片的に設計書に残して離脱。 – プロジェクトが終われば、チームは解体。 – 業務を熟知していた顧客側担当者も別の部署に異動になっ たり。 – そんな状況で保守要員 or 二次開発要員 or 顧客企業がこ の先生きのこるには・・。
  8. 8. ソフトウェア開発の現場が抱える問題 ● コードが設計書? – 顧客と話す際に『翻訳』しないといけない ● ほぼコードのような詳細すぎる設計書? – 『ほぼ 1 分の 1 スケールの地図』は無価値 ● コードには表しきれない知識
  9. 9. そこで ドメイン駆動設計 ですよ!
  10. 10. ドメインって? ● domain – 「活動、思考、影響」の分野・領域 ● ユーザー / 顧客の – ビジネスの領域、活動の領域、業務の領域 ● ソフトウェア開発の『対象』 ● 色々な立場から見た色々なドメインがある – 受注した人から見た『商品』 – 倉庫の人から見た『在庫』
  11. 11. ドメイン駆動設計って? ● ドメインとドメインロジックに フォーカスする。 ● 複雑なドメインの設計はモデルに 基づく。
  12. 12. ドメイン駆動設計で大事なこと ● 『適切な地図』としての ”ユビキタス言語” ( 共通言語) – 顧客と開発者がワンテーブルで話せる 『地図』としてのモデル。 – コードレベルにも落としこむ。 ● レイヤー分け、責務の分割など様々。 – 新しく PRJ に入ってきた開発者に 古参メンバーが説明するのにも使える。
  13. 13. 最初から完璧なモデルは厳しい ● 『モデル探索のうずまき』 – http://domainlanguage.com/ddd/whirlpool/ – http://www.slideshare.net/kiroh/dddscru m-scrumddd ● 完璧なモデルを探求しすぎて実装が遅れて も良くない。 – 実装からモデルへのフィードバックも大切。 ● 「なんか実装しづらい・・・」
  14. 14. ドメイン駆動設計を学びつつ ● 楽しい! – モデルをみながらあれやこれやと議論して ● ドメインの新たな視点が得られる ● モデルが洗練されていく – のが気持ち良い。 – 今日の午後に体験できる(?)
  15. 15. 『ドメイン駆動設計』読書会@名古屋 ● 毎月第3金曜: – 本の内容について議論 ● 毎月第2金曜: – 本の内容をベースにモデリング・実装 ● DDD 本も残すところあと 3 章半 ● サイト・ ML – https://sites.google.com/site/dddnagoya/home – https://groups.google.com/forum/#!forum/dddnagoya
  16. 16. 今後何しましょう? ● Implementing Domain-Driven Design を読 む?(英語) – www.amazon.co.jp/dp/0321834577 ● ぐるぐる DDD-Scrum のワークショップ – https://twitter.com/haradakiro/status/362587742800 068609 – https://twitter.com/haradakiro/status/36259768548 9963009 – https://twitter.com/kawaji_scratch/status/3625979 81138075651 – https://twitter.com/RKTM/status/3626037128935505 93
  17. 17. 色々な情報源 ● 『 Domain Modeling in a Functional World 』 – Scala で関数型を活かした DDD の実装例 – http://www.slideshare.net/debasishg/qconny-12 ● 『 Domain-Driven Design のエッセンス』 – DDD 本全体をまとめてある – http://www.ogis- ri.co.jp/otc/hiroba/technical/DDDEssence/chap1.html
  18. 18. 色々な情報源 ● 『ちいさなオブジェクトでドメインモデルを組み立てる』 – オブジェクト指向設計の参考に – http://www.slideshare.net/masuda220/ss-14905948 ● 『ドメイン駆動設計 実践ガイド』 – DDD 本をなぞりつつ実装例まで記載 – http://www.slideshare.net/masuda220/ss-13428134 ● ぐるぐる DDD/Scrum - モデリングと実装のうずまきを まわそう – DDD と Scrum の組み合わせ – http://www.slideshare.net/kiroh/scrum-andddd-tdc2013distss
  19. 19. ● ご静聴ありがとうございました。

×