* Add simple implementation for strangler pattern. * Add strangler pattern in pom.xml. * change package name * Revert "change package name" This reverts commit 430bd9073ea7bea6430586a0953c77f1798aacc8. * Code review for strangler Delete final of method parameters. Add final to private members. Change package name. * Revert "Code review for strangler" This reverts commit d5063567083e0348d678a938bd749e17343bcb8e. * Revert "Revert "Code review for strangler"" This reverts commit c8fd65fda782749c4f74f6de85da0f271d3c48a8. * Remove unnecessary files
32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
---
|
|
layout: pattern
|
|
title: Strangler
|
|
folder: strangler
|
|
permalink: /patterns/strangler/
|
|
categories: Structural
|
|
tags:
|
|
- Extensibility
|
|
---
|
|
|
|
## Intent
|
|
Incrementally migrate a legacy system by gradually replacing specific pieces of functionality
|
|
with new applications and services. As features from the legacy system are replaced, the new
|
|
system eventually covers all the old system's features and may has its own new features, then
|
|
strangling the old system and allowing you to decommission it.
|
|
|
|
## Class diagram
|
|

|
|
|
|
## Applicability
|
|
This strangler pattern is a safe way to phase one thing out for something better, cheaper, or
|
|
more expandable. Especially when you want to update legacy system with new techniques and need
|
|
continuously develop new features at the same time. Note that this pattern indeed need extra effort,
|
|
so usually use it when the system is not so simple.
|
|
|
|
## Credits
|
|
|
|
* [Strangler pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/strangler#context-and-problem)
|
|
* [Legacy Application Strangulation : Case Studies](https://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/)
|
|
|
|
|