code for the business domain is isolated from its dependencies on technical infrastructure, such as databases and user interfaces We don’t want technical concepts to leak into the application model, so we write interfaces to describe its relationships with the outside world in its terminology (Cockburn’s ports) Then we write bridges between the application core and each technical domain (Cockburn’s adapters) ![[./resources/pattern-ports-and-adapters-architecture.resources/unknown_filename.png]] Anti-corruption Layer in DDD This is related to what Eric Evans calls an “anticorruption layer”[Evans03]. > Is this an anti-corruption layer? I thought it was at the edge of a Bounded Context. To prevent other Bounded Context’s changes from influencing (the domain model of) this one. todo: research (src: [[book-growing-object-oriented-software-guided-by-tests-steve-freeman-nat-pryce.md|Book_ Growing Object Oriented Software, Guided By Tests - Steve Freeman & Nat Pryce]]) (origin: [Cockburn08])