Ruby loves DDD

3,538 views

Published on

The Rubyday 2013 presentation about Domain Driven Design implementation in Ruby. Source code is available here https://github.com/emadb/ruby_loves_ddd

Published in: Technology
2 Comments
18 Likes
Statistics
Notes
No Downloads
Views
Total views
3,538
On SlideShare
0
From Embeds
0
Number of Embeds
52
Actions
Shares
0
Downloads
0
Comments
2
Likes
18
Embeds 0
No embeds

No notes for slide

Ruby loves DDD

  1. 1. RUBY♥DDD@EMADBwas DDD IN RUBY
  2. 2. HI,I’MEMANUELE@EMADB
  3. 3. DDDISABOUT...
  4. 4. ANALYSIS
  5. 5. DESIGN
  6. 6. PATTERNS
  7. 7. UBIQUITOUSLANGUAGE
  8. 8. BOUNDEDCONTEXT
  9. 9. Customer CustomerIdNameShippingAddressIdNameShipOrder(...)VatCodeBillingAddress
  10. 10. ENTITYANDVALUEOBJECT
  11. 11. CustomerAddress
  12. 12. AGGREGATE
  13. 13. REPOSITORYANDSERVICE
  14. 14. DOMAINEVENT
  15. 15. RUBY
  16. 16. ‣Fully OOP (...for real)‣Expressiveness‣Metaprogramming‣DSL with ease‣Gems...tons of gems‣Great community
  17. 17. CODE
  18. 18. WE CAN DOMORE
  19. 19. UIDOMAIN MODEL/BUSINESS LAYERDATA LAYER/ORMDATABASEAPPLICATION LAYER
  20. 20. READvsWRITE
  21. 21. STOPTHINKINGINCRUD
  22. 22. CQRS
  23. 23. UICOMMANDS/HANDLERSDATA LAYERDATABASEDOMAIN MODEL
  24. 24. UICOMMANDS/HANDLERSDATA LAYERWRITE DBDOMAIN MODELREAD DBHANDLER
  25. 25. EVENTSOURCING
  26. 26. STATEvsTRANSITIONS
  27. 27. ADD ITEM
  28. 28. ADD ITEMADD ITEM
  29. 29. ADD ITEMADD ITEMREMOVE ITEM
  30. 30. ADD ITEMADD ITEMREMOVE ITEMAPPLY COUPON
  31. 31. ADD ITEMADD ITEMREMOVE ITEMAPPLY COUPONSET SHIPPING ADDRESS
  32. 32. ADD ITEMADD ITEMREMOVE ITEMAPPLY COUPONSET SHIPPING ADDRESSCOMPLETE ORDER
  33. 33. ‣ Don’t store the state but thedeltas‣ The state can be rebuilt fromevents‣ Simple storing structures‣ Snapshot could be helpfulEVENTSOURCING
  34. 34. THISRESOLVETHEEPICCUSTOMERREQUEST
  35. 35. IWANTITFORYESTERDAY
  36. 36. CODE
  37. 37. REFERENCES
  38. 38. SOURCECODEhttps://github.com/emadb/ruby_loves_ddd
  39. 39. SPECIAL THANKS TO @BITTSTATIC @SANDROPAGANOTTI @AMELCHIORI

×