Domain-Driven Rails Redux

Pat Maddox (Goldstar Events)
General
Location: Room 307 - 308
Average rating: ***..
(3.14, 49 ratings)

Over the last 5 years, Rails apps have increased in size, complexity, and value provided to businesses. A few years back all we had to do was customize some generated code and sprinkle on a bit of AJAX, and the rapid pace of development meant that we could launch products and add features way faster than our competitors could. Nowadays, top Rails developers are charged with maintaining systems that generate millions of dollars of revenue, understanding complex domains, and integrating with partner systems. This new job description requires a shift in perspective from the “build a blog in 5 minutes” approach to Rails.

In this talk, I will continue my exploration of Domain-Driven Design as it applies to Rails development. After a brief discussion of the kinds of complexity found in Rails apps, I’ll show how Aggregates and Bounded Contexts can help manage that complexity. I’ll demonstrate techniques for treating ActiveRecord structures as aggregates, and how to decouple one aggregate from another. I’ll show you when you should start looking for different BCs, how to identify them, and how to begin carving them out. We’ll also look at how some of the new features from Rails 3, such as mountable apps, can be used to build modularity into a complex system.

If you’re a serious Rails practitioner, you should come to this talk. It’s my goal to make this one of the best talks at this or any other Rails conference. Problems that you may have that I aim to solve:

  • Code that is difficult to understand
  • Code that is resistant to change
  • Slow-running test suites
  • Knowledge silos

Most of all, this talk is about recognizing and managing the complexity within your app. In valuable applications, complexity is unavoidable. How we choose to manage it is up to us. If you don’t spend the time and effort to control it, it will control you.

Photo of Pat Maddox

Pat Maddox

Goldstar Events

I got into Rails pretty much from the get-go, not long after it was made publicly available for programmers to use. Since then I’ve worked on a dozen or so production Rails apps, and written countless toy and experimental apps. These days I help build the technology at goldstar.com.

My interests in Ruby/Rails are primarily in testing and high-level design. With Rails apps that have been running in production for 3, 4, or 5 years now, I think we need to shift our perspective a bit in order to keep up the pace of development that sets us apart from other languages and frameworks, so that we can continue to innovate and make money hand over fist.

Entitled “The BDD MoFo” by Dave Chelimsky, I’m somehow still a member of the RSpec core team :) Look for the (rough-cut e-version) book to drop soon!

I dropped out of college, which Dave Astels constantly ridicules me for, but it’s okay because I know he just envies my boyish good looks. I envy his wizard programmer beard.

CLEAN CODE FOR LIFE

Comments on this page are now closed.

Comments

Picture of Shirley  Bailes
Shirley Bailes
06/14/2010 11:29am EDT

@Pat: I posted them on this page too, see above.

Picture of Pat Maddox
Pat Maddox
06/12/2010 11:40am EDT

Hey everyone, slides are up online at www.patmaddox.com/stuff/rai...

Picture of Nicholas Henry
Nicholas Henry
06/12/2010 11:22am EDT

Definitely would like to see some slides for this talk too.

Dwayne Purper
06/09/2010 10:54pm EDT

I’m not sure your talk exactly matched the large-scope description, but that’s a good thing. Great job showing the real-world problem your company faced and explaining your solution. I love these kinds of examples.

Yi Wen
06/08/2010 4:07pm EDT

Will your slide be available?

co-presented by Ruby Central, Inc. O'Reilly
  • Engine Yard
  • Heroku
  • 8th Light
  • Blue Box Group
  • InfoEther
  • JetBrains
  • New Relic
  • Open Hosting
  • Rhomobile
  • WyeWorks
  • Linux Pro Magazine
  • Chargify

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at RailsConf, contact Yvonne Romaine at yromaine@oreilly.com.

Download the RailsConf Sponsor/Exhibitor Prospectus

Media Partner Opportunities

For information on trade opportunities with O'Reilly conferences or contact mediapartners@ oreilly.com

Program Ideas

Send us your suggestions for speakers, topics, and activities to rails-idea@oreilly.com.

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com.

RailsConf Newsletter

To stay abreast of conference news please sign up for the RailsConf newsletter (login required)

Contact Us

View a complete list of RailsConf 2010 contacts.