Pr/1235 Review (#1250)

* Add simple implementation for strangler pattern.

* Add strangler pattern in pom.xml.

* change package name

* Revert "change package name"

This reverts commit 430bd9073e.

* 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 d506356708.

* Revert "Revert "Code review for strangler""

This reverts commit c8fd65fda7.

* Remove unnecessary files
This commit is contained in:
ZhouSky
2020-07-04 17:05:46 +08:00
committed by GitHub
parent 5192beb5dd
commit 6fe219d644
19 changed files with 927 additions and 0 deletions

31
strangler/README.md Normal file
View File

@ -0,0 +1,31 @@
---
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
![alt text](./etc/strangler.png "Strangler")
## 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/)