This pattern is part of "Patterns of Legacy Displacement"

Legacy Mimic

New system interacts with legacy system in such a way that the old system is not aware of any changes.

This page is a stub. We intend to fully expand it in later revisions of this material. However we are still in the middle of developing these patterns, so it's likely that patterns will be renamed, split, or merged as we continue to learn how best to frame and explain these ideas.

When incrementally replacing legacy systems with new ones, we often find that it is not possible to cleanly isolate the new world from the old. The Transitional Architecture requires that the new world provide data (or some other interaction) in order to "keep the lights on". When this is the case the new system must meet some existing (often implicit) contract, and so the new system must become a Legacy Mimic. Components that implement this pattern are part of a Transitional Architecture, and so must themselves be as isolated as possible such that it is relatively trivial to decommission them when the time comes that they are no longer needed.