Strangler Fig Pattern

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

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]

Logging

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]

Einzelnachweise

  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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.