Skip to content

Domain Driven Design and Beyond...on Rails

Photo of Michael Ibarra
Hosted By
Michael I.
Domain Driven Design and Beyond...on Rails

Details

Join us on August 22 as Richie Morris (https://www.twitter.com/domaindrivendev) leads a discussion on applying the principles of Domain Driven Design (DDD) (http://en.wikipedia.org/wiki/Domain-driven_design) in your Rails projects.

The Topic:

Ruby on Rails is optimized for data-centric applications, in problem domains that can be explained more or less with CRUD semantics. But, this paradigm is limited and often breaks down in more complex scenarios. If we constrain ourselves to the Active Record (http://en.wikipedia.org/wiki/ActiveRecord) pattern, then we forfeit the ability to express non-trivial business concepts and rules through code.

DDD provides a powerful set of strategic and tactical patterns for tackling complexity in software. It promotes the creation of Domain Models that capture areas of the business in a Ubiquitous Lanaguage, understood by all stakeholders. The models are established through continuous discussions with Domain Experts and then implemented in code.

As a result, the code should literally "speak" the language of the business. While few (if any) RoR apps are implemented in this way, the Ruby language itself is extremnely eloquent and embraces exactly this way of thinking. In this talk, I'd like to explore Domain Modelling and demonstrate ways to apply DDD in Ruby, taking advantage of it's inherent, expressive nature.

Furthermore, I'd like to walkthrough some modern aproaches to DDD including Event Sourcing (http://martinfowler.com/eaaDev/EventSourcing.html), Command/Query Segregation (http://martinfowler.com/bliki/CQRS.html) and a resulting "CQRS-based architecture" that is both elegant and highly scalable.

About Richie:

I'm a Principal Engineer @ GettyImages with 12+ years developing on the .Net platform and more recently with Ruby on Rails. I've worked on many DDD projects and am a major proponent of BDD, DDD and expressive code. In summary, I'm a modeler at heart, seeking perfect abstractions in context.

Agenda:

6:45pm Doors open. Eat, drink and socialize.

7:00pm Welcome, Introductions. Presentation.

7:45pmWrap-up / Q&A / Socialize

Photo of Seattle Software Crafters group
Seattle Software Crafters
See more events
Getty Images, 4th floor
605 5th Ave S · Seattle, WA