What is the service locator anti-pattern?
PICTURE THIS: DATA SPLIT
Fit on train, tune on val, report on test once.
Simple meaning
Resolving services from a static container inside business code hides dependencies.
WHY — DI instead of guessing?
Why interviewers care about DI:
who only read docs from people who shipped.
and tied to .NET work.
Name the idea, why it exists, then one short example.
End with when you use it and one common pitfall.
STEPS — What happens step by step?
Before you speak the answer, walk the interviewer through these steps:
- 1Resolving services from a
static container inside business code hides dependencies.
- 2Constructor injection is clearer
and testable.
- 3I only use IServiceProvider
at composition roots.
- 4Give an example
One tiny concrete case you can say aloud.
- 5Common mistake
What juniors usually get wrong.
- 6Close
When you pick this over the alternative.
EXAMPLE — See it in action
Here's a short line you can speak, broken into clear beats:
Note: Adapt this scaffold to your own project — keep it under 60–90 seconds.
Key takeaway
Resolving services from a static container inside business code hides dependencies. Constructor injection is clearer and testable.