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:
- Gojko Adzic's Specification by Example: From User Stories to Acceptance Tests (in London on 9th - 10th March 2017)
- iOSCon Bytes with Uncle Bob Martin! (in London on 4th April 2017)
- Gáspár Nagy's Developing with SpecFlow (in London on 28th - 30th June 2017)
- Agile Testing & BDD eXchange 2017 (in London on 9th - 10th November 2017)
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.