Please log in to watch this conference skillscast.
Using DDD to do strategic design and domain modeling is virtually unknown in the Ruby community. This presentation is an attempt to bridge the gap via an exploration of what DDD might look like through Ruby/NoSQL-coloured glasses.
Ruby has a rich OSS ecosystem, a vibrant agile development community, a strong commitment to design, and many talented modelers and designers. Yet using DDD to do strategic design and domain modeling is virtually unknown in the Ruby community. This presentation is an attempt to bridge the gap via an exploration of what DDD might look like through Ruby/NoSQL-coloured glasses. The basis for this will be a port of the DDD sample app to Ruby on Rails using MongoDB for persistence.
We'll cover interesting questions such as: How does the choice of Ruby affect the implementation of the DDD building block patterns? How well does an opinionated MVC framework like Rails support doing DDD? How well does an opinionated MVC framework like Rails support doing DDD? What are implications of choosing a document store like MongoDB for aggregate design and eventual consistency?
In the process we'll highlight significant lessons learned from porting the DDD sample app to Ruby/MongoDB, some significant concerns and aim to show potential ways forward.
YOU MAY ALSO LIKE:
- Greg Young's CQRS, Domain Events, Event Sourcing and how to apply DDD (in London on 8th - 10th June 2016)
- DDD eXchange 2016 (in London on 9th - 10th June 2016)
- Greg Young's Advanced CQRS & DDD Workshop (in London on 13th - 15th June 2016)
- Eric Evans Domain Driven Design Immersion Workshop (in London on 3rd - 6th October 2016)
DDD with Ruby on Rails and MongoDB
Paul Rayner is one of the world’s leading BDD and DDD practitioners. He is a programmer, coach, mentor, trainer, and popular international conference speaker. With over 25 years of hands-on software development experience in a variety of industries, Paul is a seasoned agile design coach and leadership mentor, helping teams ignite their design skills via DDD, BDD and UXD.