Thomas Pierrain & Bruno Boucard – How To Distill The Core Domain From Your Legacy App (Live Coding)

video:

Explore DDD 2017 – Denver, Sept. 21-22

Let’s take a very common legacy application: procedural code everywhere, anemic domain logic fully entangled with technical concerns and code. Nothing but classical stuff, right? Our mission for this session will be to identify and extract the core domain logic out of this tar pit in order to fix a bug that has cost our business money for months. While we will live-code, we will focus and explain some of the DDD tactical patterns we will use in the process.

Last but not least, we will clean the situation for years to come by properly splitting the domain code from the technical using the Hexagonal Architecture pattern.

About Thomas

Co-organizer of the DDD Paris user group, Thomas is an eXtreme Programmer & technical architect obsessed by use cases (Vs. solution-driven approaches). He likes using DDD & TDD to boost his efficiency at work. Advocating the advantages of the Hexagonal architecture for many years (talks, blog posts…), Thomas has recently live-coded with Alistair Cockburn on that topic.

About Bruno

Bruno Boucard is a developer, trainer, agile coach, and speaker. He loves to explain with concrete examples with live-coding if needed. He is a long-time Microsoft MVP, but he still is coding java with a C# accent 😉

His company 42skillz which aims to help organizations to make software and to work differently, provides training, coaching, consulting about TDD, BDD, legacy code refactoring techniques, and DDD with an extra soul.

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

Systems Thinking Intro with Lorraine Steyn

Systems thinking is the macro behaviour that we must understand in analyzing our world. A system always produces what it is designed to do, even if that isn't at all what we meant it to do! Systems are self-maintaining, and contain balancing and/or reinforcing...