mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-08-11 14:22:45 +00:00
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 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
This commit is contained in:
@@ -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
|
||||

|
||||
|
||||
## 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/)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user