关于IoC的绝妙比喻

A girl wants to kiss a boy.
The girl's name is Daisy Anne O'Leary (DAO). She has red hair.
The boy's name Ed (it's my example), he has a swimming pool (filled with database connections).
In our current approach (Service Locator/Singleton)..., Daisy has to go to an central known place (Dating Service), and ask it for Ed. Daisy has to have built-in knowledge about about the dating service, she has to know how to fill out the right forms to get someone like Ed. If she moves to a different dating service, she might have to go through a totally different process to get hooked up with Ed.
In the Inversion of Control / Dependency Injection approach..., Daisy knows she has needs... Ed knows he has what it takes to fill those needs. Daisy and Ed both live in the same neighborhood and have a mutual friend. That friend takes Ed and introduces him to Daisy, the magic happens. Smart-mouthed red headed kids are soon tearing up the neighborhood.

你可能感兴趣的:(IOC)