Strangler fig pattern: Difference between revisions

Content deleted Content added
WikiCleanerBot (talk | contribs)
m v2.05b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)
ce
Line 1:
{{Short description|Computer science architectural pattern}}
In programming, the '''strangler fig pattern''' or '''strangler pattern''' is aan [[architectural pattern]] that involves wrapping old code. Created by [[Martin Fowler (software engineer)|Martin Fowler]],<ref name=":0" /> its name derives from the [[strangler fig]] plant, which tends to grow on trees and eventually kill them.
 
One use of this pattern is during software rewrites. Code can be divided into many small sections, wrapped with the strangler fig pattern, then that section of old code can be swapped out with new code before moving on to the next section. This is much less risky and more incremental than swapping out the entire piece of software.<ref name=":0">{{Cite book |last=Newman |first=Sam |title=Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith |publisher=[[O'Reilly Media]] |year=2020 |isbn=978-1-492-07554-7 |pages=79–97}}</ref>
 
Another use of this pattern is the addition of logging to old code. For example, logging can be used to see how frequently the code is used in production, which can be used to decide whether to delete low-usage code, or to rewrite high-usage code.<ref>{{Cite book |last=Clausen |first=Christian |title=Five Lines of Code: How and when to refactor |publisher=[[Manning Publications]] |year=2021 |isbn=9781617298318 |pages=206–208}}</ref>
 
The strangler fig pattern tends tocan be used as an organized assault on [[monolithic application]]s to decomposemigrate them into the interest of systematically migrating toa [[microservices]] architecture.<ref name=":0" /><ref>{{cite web |last1=Behara |first1=Samir |title=Monolith to Microservices With the Strangler Pattern |url=https://dzone.com/articles/monolith-to-microservices-with-the-strangler-patte |website=DZone |access-date=12 March 2024 |date=12 December 2018}}</ref>

The pattern can be used at the [[Method (computer programming)|method]] level or the [[Class (computer programming)|class]] level.<ref>{{Cite book |last=Seemann |first=Mark |title=Code That Fits in Your Head: Heuristics for Software Engineering |publisher=[[Addison-Wesley]] |year=2022 |isbn=978-0-13-746440-1 |pages=228–237}}</ref>
 
== References ==