BOOK: Domain-Driven Rails

DDD, CQRS, Event Sourcing

Robert Pankowecki & Arkency Team

This book will teach you:

  • Why classes eventually reach 50 columns and hundreds of methods - and how to avoid it
  • Why it’s not enough to keep adding more horizontal layers such as service objects,form objects, serializers and instead why you should focus more on vertical boundaries
  • 3 techniques for modeling objects from your domain Where to put the code which is not about domain logic
  • 2 types of Service Objects and which one is for what
  • The difference between commands and events
  • How to avoid explosion of Service Objects and keep things more cohesive
  • How you can make your system expendable and decoupled with domain events and handlers
  • Coordinate business processes with sagas
  • Making your classes smaller by extracting side-effects into handlers
  • Building unobtrusive reporting
  • Providing insight into temporal aspect of your domain with event sourcing

These techniques have been used for a long time in Java and .NET communities in complex, enterprise projects. But reading about them does not make it easy to figure out how to apply them in the context of Rails apps. That’s where our book comes in with help. Same techniques but explained using our language (literally and metaphorically).