Dave Buchanan – Talk: How to Get Started with DDD: A Case Study Breaking Away from a Legacy MVC App

video:

Explore DDD 2018 – Denver, Sept. 11-14

This talk is a walk-through of integrating DDD design patterns and why it has proven itself worthy. InboxDollars is a 15+-year-old PHP application. It has very complex business rules to serve its over 2 million members. Over time, business logic became scattered in Models, Controllers, AppControllers, shared libraries to even older code….Which led to business rules being misinterpreted or lost when integrating a new technology.

The talk walks through how DDD patterns have been integrated over the past two years. And why it has led to consistently applied business rules and less bug fixes. Its applicability will be discussed within the context of Vernon Vaughns/Eric Evans framing of Domain-Driven Design. The focus is with DDD and the repository pattern.

There are several use cases that enable your application to be more maintainable and adaptable using DDD and the repository pattern.

Use case #1: Multiple data sources (Feature needs to merge data from MySQL, Redis, Memcache).

Use case #2: Separation of concerns. Domain code can be easily read, to grasp business rules. The feature is big enough that having things separate makes sense. Easier to support and identify performance issues, swapping out data sources. Writing unit tests are easier, just replace repository with the in-memory repo. Business rules of feature live separate from getting the data.

Use case #3: Break away from the framework MVC approach. (If data needed for the feature is from multiple MySQL tables, it makes sense to wrap all these into a repository instead of stuffing into a model).

Examples will show before and after implementing a repository pattern within the CakePHP framework.

About Dave Buchanan

It all started with summer school and a Texas Instruments computer in 1984! Since then Dave has 19 professional years of experience in web development, architecture, management, and mentoring others. His expertise is in integrating new technologies, leveraging open source for the enterprise, and team building. Dave has presented in the past at MadisionPHP 2016, OpenWest 2016, MinneBar 2016, and WordCampMSP in 2014 and 2013.

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...