SlideShare a Scribd company logo
Bounded Contexts
For Legacy Code
Bounded Context
“a semantic contextual boundary”

— Domain-Driven Design Distilled byVaughnVernon



A meaningful collection of components that meets a
defined, limited, and useful purpose with defined
interfaces and means of interaction with external
actors.
Legacy Code
“source code inherited from someone
else”

— Legacy Code,Wikipedia



Code that because of its lack of tests, poor design, or
other factors is difficult to work with.
Goals
Maintain Functional State

AddValue & Reduce Debt

Permit Changeability
Resources
Resources
The Project
The Problems
The Approach
Account
User
Project
Story
Account
User
Project
Story
Account
User
Project
Existing System 3rd Party
Account
User
Project
Story
Account
User
Project
Existing System 3rd Party
AntiCorruptionLayer
AntiCorruption Layer
Web-hooks
Commands &
Queries
Account
User
Project
Story
Account
User
Project
Existing System 3rd Party
AntiCorruptionLayer
Mapping
Account
User
Project
Story
Existing System 3rd Party
AntiCorruptionLayer
Mapping
Account
User
Project
Proofs
Revisions
Proofs
Account
User
Project
Story
Existing System 3rd Party
AntiCorruptionLayer
Mapping
Account
User
Project
Proofs
Revisions
Proofs
Create Proof
Add Revision
Delete Proof
…
Recap
Difficulties
Achievements
Questions
James Thompson
Staff Software Engineer @ Nav
@plainprogrammer
theplainprogrammer.com

More Related Content

Similar to Bounded Contexts for Legacy Code (20)

PPTX
Freelancing-Web-Application-Fiverr-Clone-with-MERN-Stack.pptx
DiwakarMishra73
 
PPTX
Putting Kit back in SDK
darrelmiller71
 
PDF
Net course content
mindq
 
PPTX
Eliminate the complexities of Event-Driven Architecture with Domain-Driven De...
SheenBrisals
 
PDF
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
confluent
 
DOCX
PM_New_Resume
Prasoon Mehrotra
 
PPT
WebSec_MSR.ppt
LucaMartins7
 
PPT
Vsts intro
PV Farms
 
PPT
Web 2.0 Tech Talk
pooyad
 
DOCX
Emmert_Resume
Aaron Emmert
 
DOCX
Ashish Bera
Ashish Bera
 
PPT
XC partner slides
mhruska
 
PDF
How to govern and secure a Data Mesh?
confluent
 
PPT
Data Access
eclumson
 
PPTX
Software Portfolio - SetFocus
Alexander Vogel
 
PPTX
MongoDB World 2018: Evolving your Data Access with MongoDB Stitch
MongoDB
 
PPTX
Introduction-to-Blood-Bank-and-Donor-Management-System.pptx
SyedMoizuddinQuadri
 
PDF
Evolutionary architecture: evolving even the language
Luram Archanjo
 
DOCX
Resume_SAJID_ALI
Sajid Ali
 
PPTX
API security
Eduards Salnikovs
 
Freelancing-Web-Application-Fiverr-Clone-with-MERN-Stack.pptx
DiwakarMishra73
 
Putting Kit back in SDK
darrelmiller71
 
Net course content
mindq
 
Eliminate the complexities of Event-Driven Architecture with Domain-Driven De...
SheenBrisals
 
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
confluent
 
PM_New_Resume
Prasoon Mehrotra
 
WebSec_MSR.ppt
LucaMartins7
 
Vsts intro
PV Farms
 
Web 2.0 Tech Talk
pooyad
 
Emmert_Resume
Aaron Emmert
 
Ashish Bera
Ashish Bera
 
XC partner slides
mhruska
 
How to govern and secure a Data Mesh?
confluent
 
Data Access
eclumson
 
Software Portfolio - SetFocus
Alexander Vogel
 
MongoDB World 2018: Evolving your Data Access with MongoDB Stitch
MongoDB
 
Introduction-to-Blood-Bank-and-Donor-Management-System.pptx
SyedMoizuddinQuadri
 
Evolutionary architecture: evolving even the language
Luram Archanjo
 
Resume_SAJID_ALI
Sajid Ali
 
API security
Eduards Salnikovs
 

More from James Thompson (15)

PPTX
Interfaces Not Required — RubyHACK 2018
James Thompson
 
PDF
Beyond Accidental Arcitecture
James Thompson
 
PDF
Effective Pair Programming
James Thompson
 
PPTX
Wrapping an api with a ruby gem
James Thompson
 
PPTX
Microservices for the Monolith
James Thompson
 
PDF
Mocking & Stubbing
James Thompson
 
KEY
Learn Ruby 2011 - Session 5 - Looking for a Rescue
James Thompson
 
KEY
Learn Ruby 2011 - Session 4 - Objects, Oh My!
James Thompson
 
KEY
Learn Ruby 2011 - Session 3
James Thompson
 
KEY
Learn Ruby 2011 - Session 1
James Thompson
 
KEY
Learn Ruby 2011 - Session 2
James Thompson
 
KEY
Rails: Scaling Edition - Getting on Rails 3
James Thompson
 
KEY
Ruby For Web Development
James Thompson
 
KEY
Ruby Testing: Cucumber and RSpec
James Thompson
 
KEY
Introducing Ruby
James Thompson
 
Interfaces Not Required — RubyHACK 2018
James Thompson
 
Beyond Accidental Arcitecture
James Thompson
 
Effective Pair Programming
James Thompson
 
Wrapping an api with a ruby gem
James Thompson
 
Microservices for the Monolith
James Thompson
 
Mocking & Stubbing
James Thompson
 
Learn Ruby 2011 - Session 5 - Looking for a Rescue
James Thompson
 
Learn Ruby 2011 - Session 4 - Objects, Oh My!
James Thompson
 
Learn Ruby 2011 - Session 3
James Thompson
 
Learn Ruby 2011 - Session 1
James Thompson
 
Learn Ruby 2011 - Session 2
James Thompson
 
Rails: Scaling Edition - Getting on Rails 3
James Thompson
 
Ruby For Web Development
James Thompson
 
Ruby Testing: Cucumber and RSpec
James Thompson
 
Introducing Ruby
James Thompson
 
Ad

Recently uploaded (20)

PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Ad

Bounded Contexts for Legacy Code