~/talk

Build Complex Domains in Rails

Talkat Rocky Mountain Ruby 2014 · 2014-09-24..09-26· [ruby, frontend-architecture]
links:none on file
slides:none on file

A concrete Rails recipe: an iOS App Store MVP is modeled with aggregates (App as entry point), value objects as immutable POROs for screenshots and versions, and cross-aggregate work in plain Ruby domain services. Uses ActiveRecord scopes, JSON serialization, and ActiveRecord’s read_only! plus manual writer methods to persist value objects. Claims: this reduces business-rule defects and scales past the brittle stage where apps hit 50 to 100 models. Example code shows methods like submit_release and scope-driven queries that make the domain simpler and maintainable.

AI-written summary · about

  1. 0:00Brought to you by
  2. 2:07WHAT'S A DOMAIN?
  3. 2:39WHY DDD?
  4. 3:52AIM OF THIS TALK
  5. 8:37COMMUNICATION
  6. 9:08RESPONSIBILITIES
  7. 9:28UBIQUITOUS LANGUAGE
  8. 10:59App Store relationships
  9. 13:51Submit a new release of an app
  10. 15:15AGGREGATE
  11. 16:32Data Access
  12. 18:19One expressive point of entry
  13. 22:50What's what?
  14. 25:15A. Inline on the Entity's table
  15. 26:55C. In its own table
  16. 28:47Gift an App
~/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.