You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: strangler/README.md
+47-5Lines changed: 47 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -113,18 +113,61 @@ public class NewArithmetic {
113
113
114
114
The `NewArithmetic` class represents the system after the migration process. It only depends on the `NewSource` class. All methods now use the new source.
115
115
116
-
This is a typical example of the Strangler pattern. The legacy system (`OldArithmetic`) is gradually replaced by the new system (`HalfArithmetic` and `NewArithmetic`). The new system is developed incrementally, and at each stage, it strangles a part of the legacy system until the legacy system is completely replaced.
13:02:25.030 [main] INFO com.iluwatar.strangler.OldArithmetic -- Arithmetic sum 1.0
142
+
13:02:25.032 [main] INFO com.iluwatar.strangler.OldSource -- Source module 1.0
143
+
13:02:25.032 [main] INFO com.iluwatar.strangler.OldArithmetic -- Arithmetic mul 1.0
144
+
13:02:25.032 [main] INFO com.iluwatar.strangler.OldSource -- Source module 1.0
145
+
13:02:25.032 [main] INFO com.iluwatar.strangler.HalfArithmetic -- Arithmetic sum 1.5
146
+
13:02:25.032 [main] INFO com.iluwatar.strangler.HalfSource -- Source module 1.5
147
+
13:02:25.033 [main] INFO com.iluwatar.strangler.HalfArithmetic -- Arithmetic mul 1.5
148
+
13:02:25.033 [main] INFO com.iluwatar.strangler.OldSource -- Source module 1.0
149
+
13:02:25.033 [main] INFO com.iluwatar.strangler.HalfArithmetic -- Arithmetic check zero 1.5
150
+
13:02:25.033 [main] INFO com.iluwatar.strangler.HalfSource -- Source module 1.5
151
+
13:02:25.034 [main] INFO com.iluwatar.strangler.NewArithmetic -- Arithmetic sum 2.0
152
+
13:02:25.034 [main] INFO com.iluwatar.strangler.NewSource -- Source module 2.0
153
+
13:02:25.034 [main] INFO com.iluwatar.strangler.NewArithmetic -- Arithmetic mul 2.0
154
+
13:02:25.034 [main] INFO com.iluwatar.strangler.NewSource -- Source module 2.0
155
+
13:02:25.034 [main] INFO com.iluwatar.strangler.NewArithmetic -- Arithmetic check zero 2.0
156
+
13:02:25.035 [main] INFO com.iluwatar.strangler.NewSource -- Source module 2.0
157
+
```
158
+
159
+
This is a typical example of the Strangler pattern. The legacy system (`OldArithmetic`) is gradually replaced by the new system (`HalfArithmetic` and `NewArithmetic`). The new system is developed incrementally, and at each stage, it strangles a part of the legacy system until the legacy system is completely replaced.
121
160
122
161
## Applicability
123
162
124
163
* Use when you need to replace a monolithic or legacy system incrementally.
125
164
* Ideal for scenarios where the system cannot be replaced in one go due to risk or complexity.
126
165
* Suitable when you need to modernize parts of an application while ensuring continuous operation.
127
166
167
+
## Tutorials
168
+
169
+
*[Legacy Application Strangulation: Case Studies (Paul Hammant)](https://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/)
170
+
128
171
## Known Uses
129
172
130
173
* Replacing a legacy monolithic application with a microservices architecture.
0 commit comments