Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

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

834 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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. ● ご静聴ありがとうございました。

×