Practice Strangler Fig pattern vocabulary: strangle the legacy system, coexistence phase, feature parity, gradually migrating traffic, and the dark system concept.
0 / 10 completed
1 / 10
Where does the name 'Strangler Fig pattern' come from?
The strangler fig is a tree that wraps around a host, eventually replacing it. Martin Fowler used this metaphor for the pattern: new code wraps around the legacy system, gradually taking over functionality until the old system can be removed.
2 / 10
In the Strangler Fig pattern, what does 'new code handles new requests' mean?
The Strangler Fig strategy routes new functionality to the new system while letting the legacy system continue handling existing features. Over time, more and more requests are 'strangled' — migrated — to the new system.
3 / 10
What is the 'coexistence phase' in a Strangler Fig migration?
The coexistence phase is when both systems run in parallel. A routing layer (proxy, feature flag, or API gateway) directs traffic. This phase ends when the new system reaches full feature parity and all traffic is migrated.
4 / 10
What does 'feature parity' mean in the context of a legacy system migration?
Feature parity means the new system can do everything the old system could do. You can't retire the legacy system until you've achieved feature parity — otherwise you'd break functionality that users depend on.
5 / 10
What does it mean when engineers say 'the old system is now dark'?
'The old system is dark' means it's been decommissioned — no traffic, no requests, shut down. Getting the legacy system to 'go dark' is the final milestone of a successful Strangler Fig migration.
6 / 10
During a code review of the new payment service integration using the Strangler Fig pattern, Sarah comments: 'I'm seeing a lot of calls to the legacy billing system for simple refunds. Shouldn't the new service be handling *all* refund requests?' What does this comment primarily highlight about the current phase of the migration?
This comment correctly identifies the ongoing coexistence phase. The core principle of the Strangler Fig pattern is a gradual transition where the new service *initially* handles some requests alongside the legacy system to avoid disrupting existing operations. The option 'A' is incorrect because it assumes full decommissioning which isn't typical until later stages. Options C and D are irrelevant to the immediate issue raised by Sarah.
7 / 10
Mark is writing a PR description for a new feature implemented using the Strangler Fig pattern. He states: 'This change introduces a new API endpoint to handle user profile updates. The old system continues to manage existing profiles, and we're aiming for eventual data migration.' What technical term best describes this approach?
The correct answer is 'Strangler Fig Pattern' because it accurately reflects the incremental approach described in Mark's PR. A 'Big Bang Migration' represents a complete and risky replacement. 'Feature Toggles' are used for enabling features, not entire systems. 'Monolith Refactoring' relates to internal code structure, not the external migration strategy.
8 / 10
During a standup meeting, David says: 'We're currently in the stage where we're routing approximately 70% of new user registration requests through the new authentication service. The remaining 30% still go to the legacy system because it handles some specific edge cases.' What is David describing?
David's statement directly describes the initial phase of the Strangler Fig pattern. This phase involves routing a percentage of requests through the new service while the legacy system continues to handle specific cases – this is precisely what allows for controlled migration and minimizes disruption. Options A and D represent later stages, and option C relates to disaster recovery.
9 / 10
A code review comment reads: 'The new service's API response is slightly different from the legacy system's. We need to ensure full feature parity before fully decommissioning the old system.' What does 'feature parity' mean in this context?
'Feature parity' signifies that the new service must provide equivalent functionality – specifically, identical API responses – to the legacy system. This ensures that applications and systems relying on the old system continue to operate correctly during the migration period. Option A is too extreme; options C & D describe performance benefits or traffic scaling, not the core requirement for a successful Strangler Fig implementation.
10 / 10
The team has completed migrating all user account management functionality to the new service. They state: 'The old system is now dark.' What does this phrase indicate?
'The old system is now dark' signifies that the legacy system is no longer handling any user requests or traffic. This indicates a complete transition to the new service and the successful decommissioning of the older component. Options A & D are incorrect (deletion/rewrite), while option C contradicts the statement about the migration.
What will I practice in "Strangler Fig Pattern Vocabulary"?
This is a Refactoring Language exercise set. It walks through 10 scenario-based multiple-choice questions built around real usage of refactoring language terminology that IT professionals encounter on the job.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to complete with no account, sign-up, or paywall.
How many questions are in this exercise?
This set contains 10 questions. Each one shows immediate feedback and a detailed explanation after you answer, so you learn the correct usage right away rather than waiting for a final score.
Do I need prior experience to complete this exercise?
No prior experience is required. Each question includes a full explanation covering the reasoning behind the correct answer, so the exercise itself teaches the refactoring language vocabulary as you go.
Can I retry the exercise if I get questions wrong?
Yes — use the "Try again" button on the results screen to reset your answers and go through all the questions again. There is no limit on attempts.
Is my progress saved?
Your answers and score for the current session are tracked in the browser as you go. No account or login is needed, and there is nothing to install.
What if I don't understand a term used in a question?
Read the explanation shown after you answer each question — it breaks down the correct term in plain English with a real-world example. You can also check the site Glossary for quick definitions.
How is this different from reading a blog article on the topic?
Exercises like this one are interactive drills that test and reinforce specific vocabulary through multiple-choice questions, while blog articles explain concepts in prose. Practising here after reading builds active recall, not just passive recognition.
Where can I find more Refactoring Language exercises?
See the Refactoring Language exercises hub for the full set of related pages, or browse all exercise categories from the main Exercises index.
Can I use this exercise to prepare for a technical interview?
Yes — refactoring language vocabulary comes up often in technical discussions and interviews. Pair this exercise with our dedicated Interview Preparation section for role-specific practice.