~/talk

Domain Driven Design and Hexagonal Architecture with Rails

Talkat RailsConf 2014 · 2014-04-22..04-25· [ruby-on-rails]
slides:none on file

Claims that Domain‑Driven Design plus a hexagonal layout stops Rails’ fat‑model drift and makes code reusable across web and API boundaries. Actual techniques shown: form object (ActiveModel::Model) for complex forms, request object (using Verdis) for validated API boundaries, service objects and a repository + mapper layer that converts ActiveRecord rows into ~8 domain classes (down from a single 48‑attribute AR model). Repository wiring, scope proxy and an identity map are implemented; repository work proves the hardest but the pattern works and a GitHub repo is promised.

AI-written summary · about

  1. 0:00Intro
  2. 1:32Declans story
  3. 3:42Steve Martin
  4. 4:47More than Rails
  5. 5:40Rails Folder Structure
  6. 6:07Areas of Responsibility
  7. 6:35A Train Wreck
  8. 7:57Patterns
  9. 8:39Domain Concepts
  10. 9:27Eric Evans
  11. 10:12Understanding the domain
  12. 10:54Ubiquiti language
  13. 14:26Hexagonal Architecture
  14. 14:38Application Level Code
  15. 15:20Form Object
  16. 17:41Request Object
  17. 18:23virtus
  18. 19:13validation
  19. 20:16service objects
  20. 20:44order service
  21. 21:25Active record
  22. 21:58Architecture
  23. 22:34Repository
  24. 22:53Save
  25. 23:53Scope
  26. 24:41Mapper
  27. 26:03Identity Map
  28. 27:07Service Directory
  29. 28:01Embrace Complexity
  30. 29:46Github
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.