Im Bereich der Programmierung ist das Strangler-Fig-Muster (englisch Strangler Fig Pattern) oder auch Strangler-Muster eine Methode, bei dem alter Code umhüllt wird, um ihn entweder zu neuem Code umzuleiten oder die Nutzung des alten Codes zu protokollieren.

Dieses Muster wurde von Martin Fowler entwickelt[1] und hat seinen Namen von der australischen Würgefeige Strangler Fig, einer Pflanze, die allmählich auf Bäumen wächst, bis diese schließlich komplett umhüllt sind und absterben. Gelegentlich wird auch der verkürzte Begriff Strangler Pattern benutzt.

Das Muster kann sowohl auf der Ebene der Methode als auch der Klasse verwendet werden.[2]

Softwaremodernisierung

Bearbeiten

Das Strangler Fig Pattern findet Anwendung bei der Softwaremodernisierung. Der Code kann in viele kleine Abschnitte unterteilt und mit dem Strangler-Fig-Muster umhüllt werden. Anschließend kann dieser Abschnitt des alten Codes durch neuen Code ersetzt werden, bevor zum nächsten Abschnitt übergegangen wird. Dieser inkrementelle Vorgang ist weniger riskant als das Austauschen des gesamten Softwarestücks.[1]

Das Strangler-Fig-Muster kann bei monolithischen Anwendungen verwendet werden, um diese auf eine Microservices-Architektur zu migrieren.[1][3]

Eine weitere Anwendung dieses Musters ist das Hinzufügen von Logging zu altem Code. Zum Beispiel kann Logging dazu verwendet werden, die Häufigkeit der Nutzung des Codes in der Produktion zu überwachen. Dies kann genutzt werden, um zu entscheiden, ob wenig genutzter Code gelöscht oder häufig genutzter Code neu geschrieben werden sollte.[4]

Bearbeiten

Einzelnachweise

Bearbeiten
  1. a b c Newman, Sam (2020). Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. O’Reilly Media. pp. 79–97. ISBN 978-1-4920-7554-7.
  2. Seemann, Mark (2022). Code That Fits in Your Head: Heuristics for Software Engineering. Addison-Wesley. pp. 228–237. ISBN 978-0-13-746440-1.
  3. Behara, Samir (12 December 2018). "Monolith to Microservices With the Strangler Pattern". DZone. Retrieved 12 March 2024.
  4. Clausen, Christian (2021). Five Lines of Code: How and when to refactor. Manning Publications. pp. 206–208. ISBN 978-1-61729-831-8.