The anti-corruption layer - great for connecting the properly domain driven aspects of your application to anything that might not be - old code, third party services, etc.
-
I previously wrote about some of the Domain Driven Design patterns we have noticed on my project and I think the pattern which ties all these together is the anti corruption layer. The reason why you might use an anti corruption layer is to create a little padding between subsystems so that they do not leak into each other too much.