[{"data":1,"prerenderedAt":68},["ShallowReactive",2],{"term-i\u002Fioc":3,"related-i\u002Fioc":58},{"id":4,"title":5,"acronym":5,"body":6,"category":39,"description":40,"difficulty":41,"extension":42,"letter":43,"meta":44,"navigation":45,"path":46,"related":47,"seo":51,"sitemap":52,"stem":55,"subcategory":56,"__hash__":57},"terms\u002Fterms\u002Fi\u002Fioc.md","IoC",{"type":7,"value":8,"toc":32},"minimark",[9,14,18,22,25,29],[10,11,13],"h2",{"id":12},"eli5-the-vibe-check","ELI5 — The Vibe Check",[15,16,17],"p",{},"IoC is the abbreviation for Inversion of Control. It's the Hollywood Principle: 'Don't call us, we'll call you.' Your code registers itself with a framework, and the framework calls it when needed instead of the other way around.",[10,19,21],{"id":20},"real-talk","Real Talk",[15,23,24],{},"Inversion of Control container — a framework component that manages object instantiation and dependency wiring. IoC containers use configuration (annotations, decorators, or config files) to automatically create and inject dependencies throughout the application.",[10,26,28],{"id":27},"when-youll-hear-this","When You'll Hear This",[15,30,31],{},"\"The IoC container handles all the wiring.\" \u002F \"Register the service with the IoC container and it'll be injected wherever needed.\"",{"title":33,"searchDepth":34,"depth":34,"links":35},"",2,[36,37,38],{"id":12,"depth":34,"text":13},{"id":20,"depth":34,"text":21},{"id":27,"depth":34,"text":28},"architecture","IoC is the abbreviation for Inversion of Control. It's the Hollywood Principle: 'Don't call us, we'll call you.","intermediate","md","i",{},true,"\u002Fterms\u002Fi\u002Fioc",[48,49,50],"Inversion of Control","Dependency Injection","Dependency Inversion",{"title":5,"description":40},{"changefreq":53,"priority":54},"weekly",0.7,"terms\u002Fi\u002Fioc",null,"cbulxfY0V2qoUfVXfb6Jy9fVLz-77ummjjkH5_tMS04",[59,62,65],{"title":49,"path":60,"acronym":56,"category":39,"difficulty":41,"description":61},"\u002Fterms\u002Fd\u002Fdependency-injection","Instead of your UserService creating its own DatabaseConnection (tight coupling), you pass the database in from outside: new UserService(db).",{"title":50,"path":63,"acronym":56,"category":39,"difficulty":41,"description":64},"\u002Fterms\u002Fd\u002Fdependency-inversion","Dependency Inversion says high-level code shouldn't depend on low-level code — both should depend on abstractions.",{"title":48,"path":66,"acronym":5,"category":39,"difficulty":41,"description":67},"\u002Fterms\u002Fi\u002Finversion-of-control","Inversion of Control is when a framework calls YOUR code instead of you calling the framework. You don't control the flow anymore — the framework does.",1776518289378]