ざっくり DDD 入門!!
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

ざっくり DDD 入門!!

on

  • 8,529 views

2013/3/25 java-ja DDD

2013/3/25 java-ja DDD

Statistics

Views

Total Views
8,529
Views on SlideShare
6,621
Embed Views
1,908

Actions

Likes
29
Downloads
38
Comments
0

19 Embeds 1,908

http://starzero.hatenablog.com 751
http://heartbeatheart.blogspot.jp 252
http://a-suenami.hatenablog.com 248
http://grimrose.blogspot.jp 202
http://blog.livedoor.jp 171
http://makopi23.blog.fc2.com 166
https://twitter.com 43
http://localhost 24
http://s.deeeki.com 16
http://grimrose.blogspot.ru 14
http://webcache.googleusercontent.com 7
http://heartbeatheart.blogspot.com 5
http://heartbeatheart.blogspot.in 2
http://feedly.com 2
http://heartbeatheart.blogspot.sg 1
http://feeds.feedburner.com 1
http://b.hatena.ne.jp 1
http://slideshare-download.seesaa.net 1
http://labs.septeni.co.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

ざっくり DDD 入門!! Presentation Transcript

  • 1. java-ja DDDざっくりDDD入門!! グロースエクスパートナーズ(株) 和智 右桂
  • 2. JavaEE勉強会 所属 Yukei Wachi グロースエクスパートナーズ株式会社 勤務 和智 右桂 ネコ好き IT アーキテクト @digitalsoul0124 Digital Romanticism http://d.hatena.ne.jp/digitalsoul Photo by @digitalsoul0124 All rights reserved.
  • 3. アジェンダ•導入•DDD的アプリの構造•モデル駆動設計 スライド中で使用されている画像について、 その著作権の全部または一部は、 クレジットに示した著者によって保留されています。 Photo by @digitalsoul0124 All rights reserved.
  • 4. 導入
  • 5. ソフトウェアは複雑だ...
  • 6. 複雑なのは、ドメインそのもの、 すなわち、 ユーザの活動やビジネスなのである。 ドメイン駆動設計 p.xiv
  • 7. 今までに開発したシステムについて、ドメインをどれだけ理解していましたか? 3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵
  • 8. 業務知識とは? キーパーソン 現場の手際 経済の知識
  • 9. 業務知識とは? データの構造 演算 ルール システム間連携
  • 10. 業務知識を反映させることで、 ソフトウェアは 柔軟に変更したり拡張したりできるようになる
  • 11. DDD的ソフトウェアの 構造
  • 12. 業務知識を反映した ソフトウェアの 構造とは?
  • 13. その前に
  • 14. それほど しない業務知識を反映した ソフトウェアの 構造とは?
  • 15. いわゆるトランザクションスクリプト 手続きにまで分解 Ancient Tamil Script http://www.flickr.com/photos/symphoney/76513801/ by Idol
  • 16. 処理の種類に応じたモジュール化 入力チェック <script var a= var xl if(xls DBアクセス A Very Nice Window Indeed パラメタ Search Search SIDEBAR Pop-Up Menu Small Pop-Up SQLテンプレート Stuff Combo Box Bits Things Bobs Small Combo Odds Odds Ends Ends Help Tag Label Explanotext データベース Cancel OK 結果セット UI <script var a= var xl if(xls SQL 編集ロジック <script var a= var xl if(xls処理内容に関わらず構造は安定
  • 17. ただし... 貨物予約ドメイン 10 %のオーバーブッキングを認める 仕様書 航海 貨物 データモデル 積載量 * サイズ // 貨物を追加する <script var a= var xl if(xls int 予約済み貨物量 = … ソースコード if(予約済み貨物量 + 貨物.サイズ > 航海.積載量 * 1.1){  // 予約できない  return … ; } 重要なロジックが埋もれる
  • 18. 基本設計書に書いてある? ここらへん
  • 19. あらためて業務知識を反映した ソフトウェアの 構造とは?
  • 20. 制約をコード内で可視化する 貨物予約ドメイン 10 %のオーバーブッキングを認める 仕様書 航海 貨物 ドメインモデル 積載量 * サイズ {貨物のサイズの合計 < 航海の積載量 * 1.1} オーバーブッキング ポリシー // 貨物を追加する <script var a= var xl if(xls int 予約済み貨物量 = … ソースコード if(オーバーブッキングポリシー.allows(貨物, 航海)){  // 予約できない  return … ; }
  • 21. ただし、バランスが重要https://github.com/Mikkeren/FizzBuzzEnterpriseEdition/blob/master/src/main/java/com/seriouscompany/business/java/fizzbuzz/ packagenamingpackage/impl/strategies/BuzzStrategy.java
  • 22. 正しい オブジェクト指向設計?
  • 23. モデル駆動開発
  • 24. 複雑なドメインの設計は モデルを基にする
  • 25. モデルとは 専門家によって 整理され 単純化された 世界観Astrolabe http://www.flickr.com/photos/kotomi-jewelry/4171052675/ by Kotomicreations (aka- kotomigd)
  • 26. まずは、モデルを共有しよう! Microsoft Bing Maps datacenter http://www.flickr.com/photos/scobleizer/4870003098/ by Robert Scoble
  • 27. シナリオ モデル
  • 28. ソフトウェアに モデルを反映させる escher wannabe b/w http://www.flickr.com/photos/midlander/54915243/ by you are your atman
  • 29. 続きは実践編へ!
  • 30. One More !ing...
  • 31. ところでモデルと言われて、どんなものを思い浮かべますか? 3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵
  • 32. 作るべきは、業務のモデル シンプルなら、ほぼE-R図
  • 33. 続きは実践編へ!
  • 34. ありがとうございました! Photo by @digitalsoul0124 All rights reserved.