Wissen von A bis Z

Anti-Corruption Layer

Ein Anti-Corruption Layer ist wie ein diplomatischer Dolmetscher, der verhindert, dass die schlechten Angewohnheiten Ihres alten Codes Ihre neue, saubere Architektur korrumpieren.

Ein Anti-Corruption Layer (ACL) ist eine Schicht zwischen einem neu entwickelten System und einem Legacy- oder Drittsystem, die Modelle und Begriffe übersetzt. Sie verhindert, dass die Eigenheiten des fremden Systems unkontrolliert in das eigene Domänenmodell sickern.

In der Praxis besteht ein ACL aus Adaptern, Mappern und Fassaden, die Datenstrukturen, Fehlercodes und Geschäftsbegriffe transformieren. So bleibt die eigene Domäne sauber, während das Altsystem in seiner ursprünglichen Form bedient wird. Häufig wird ein ACL kombiniert mit Strangler-Fig-Strategien.

Einsatzzweck ist der Schutz des Domänenmodells vor Verunreinigung. Gerade in Modernisierungsprojekten besteht die Versuchung, alte Datenstrukturen "einfach durchzureichen". Das führt langfristig zu einer Vermischung der Modelle, die viele Vorteile der Modernisierung wieder zunichtemacht.

Der Begriff stammt aus Eric Evans' Buch "Domain-Driven Design" (2003), wo er als strategisches Muster zwischen Bounded Contexts beschrieben wurde. Mit der zunehmenden Bedeutung von Microservices und Cloud-Migrationen ab den 2010er Jahren hat das Muster stark an praktischer Relevanz gewonnen.

In typischen Modernisierungsprojekten bilden ACLs gewissermaßen die "Botschaft" zwischen alter und neuer Welt: Sie übersetzen Sprache, Format und Verhalten. Viele Architekten berichten, dass ein bewusst gestalteter ACL ein wesentliches Mittel ist, um Re-Engineering-Projekte vor heimlicher Umkehr zum Altsystem zu schützen.

Zurück