Successfully Building Complex Domains

*
Proposal
Short Form
Intermediate

Excerpt

Modeling large, complex domains can cause some serious pain.

Join me as I’ll walk through a set of easy to implement Domain Driven Design (DDD) pointers. The goal is to make sure your model’s business logic stay under control no matter how complex your domain is or gets. Your application will be able to sustain steady growth and dramatically reduce business rule related defects, all the while, staying easy to grok.

Description

This talk uses Rails as an example framework, but these tips can be applied to any language or framework.

Modeling large, complex domains can cause some serious pain.

Join me as I’ll walk through a set of easy to implement Domain Driven Design (DDD) pointers. The goal is to make sure your model’s business logic stay under control no matter how complex your domain is or gets. Your application will be able to sustain steady growth and dramatically reduce business rule related defects, all the while, staying easy to grok.

I’ll walk you through:

  • How communicating the domain properly will make an imprint on your codebase and product.
  • How creating boundaries around clusters of models will make your code easier to understand, manage, and interact with.
  • How immutable objects reduce domain gymnastics.
  • How data store access expresses the domain’s intentions.
  • How to represent natural business transactions between models.

Tags

software development, rails, Ruby

Speaking experience

I'll be speaking at UruguayRuby in may. http://www.rubyconfuruguay.org/

Speaker

  • Me

    Biography

    Since writing and selling my first application when I was 14, I have worked on everything from space station laboratory control software for NASA’s astronauts to growing a startup that specialized in consulting and productizing business management applications. I’m currently a Sr. Software Consultant at Quick Left, a web application consultancy. My true passion lies in contributing to the success of web and mobile applications in the startup community. I have developed an expertise in scaling an architecture from a simple startup application to a large, complex domain.