addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1light-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Domain Driven Design and Beyond...on Rails

Join us on August 22 as Richie Morris leads a discussion on applying the principles of Domain Driven Design (DDD) 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 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, Command/Query Segregation 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.


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

7:00pm Welcome, Introductions. Presentation.

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

Join or login to comment.

  • Richie M.

    For anyone who's interested, I've uploaded the slide-deck - should be available under More -> Files menu option above

    1 · August 28, 2013

  • A former member
    A former member

    Some best practices to keep the rails models lean and beautiful

    Although the post caters to the active record models. Some of these can come handy when decomposing your domain models

    August 22, 2013

  • Kevin G. B.

    Thanks for organizing these gatherings Michael!

    1 · August 5, 2013

    • Michael I.

      You're welcome, but it's not just me, We've got a great team that works hard to pull these off each month. :)

      August 9, 2013

  • Jose

    Can't wait

    August 5, 2013

  • Chris M.

    I'd love to come, but I have a prior engagement.

    August 5, 2013

Our Sponsors

  • CDK Global

    A location, food and drinks for our meetups.

  • AIM Consulting

    Fun schwag for our members

  • Redfin

    A location, food and drinks for our meetups.

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy