Paul Rayner – Refactoring to a Deeper Model

video:

Explore DDD 2017 – Denver, Sept. 21-22

There are different refactoring reagents, each with different effort, frequency, and potency. Combined with domain-driven discovery and exploration process catalysts, these refactoring reagents provide code chemistry reactions that transform code towards a rich domain model. This presentation shows the code chemistry of a redesign of the video camera support in Nexia Home Intelligence. Nexia is a large-scale Ruby on Rails application with a customer base using tens of thousands of video cameras.

Paul walks through examples of obscure production code and shows key code chemistry reactions that transformed the video camera code towards ubiquitous language, a richer domain model, better performance and scalability, and cleaner module boundaries to improve deployment and troubleshooting.

Learn how the intersection of Domain-Driven Design (DDD), pair-programming, and TDD enables us to make significant improvements to the performance and maintainability of the Nexia codebase while continuing to deliver new customer features.

About Paul

Paul Rayner is one of the world’s leading Domain-Driven Design (DDD) practitioners. He is a developer, instructor, coach, and popular conference speaker. He co-founded DDD Denver and is the founder and chairman of the Explore DDD Conference. His company Virtual Genius LLC provides training and coaching in DDD for agile teams.

Paul is from Perth, Australia, but chooses to live, work and play with his wife and two children, in Denver, Colorado. He (occasionally) blogs at thepaulrayner.com and tweets with an Australian accent at @ThePaulRayner.

WEBSITE: http://exploreddd.com
TWITTER: http://twitter.com/ExploreDDD

Tags

Follow us

Read our latest news from Virtual DDD on any of these social networks!

Recent videos

Impact Mapping – The Secret Sauce

Details "Impact mapping is a lightweight, collaborative planning technique for teams that want to make a big impact with software products. It is based on user interaction design, outcome-driven planning and mind mapping. Impact maps help delivery teams and...

Pragmatic Architecture: How to Know When It’s Enough

Details Overengineering wastes time and effort, while underengineering creates future pain. How do you strike the right balance? This talk explores how you can use the balanced coupling model to achieve the just-right engineering. You’ll learn to predict volatility of...