[{"data":1,"prerenderedAt":72},["ShallowReactive",2],{"term-i\u002Finversion-of-control":3,"related-i\u002Finversion-of-control":59},{"id":4,"title":5,"acronym":6,"body":7,"category":40,"description":41,"difficulty":42,"extension":43,"letter":44,"meta":45,"navigation":46,"path":47,"related":48,"seo":52,"sitemap":53,"stem":56,"subcategory":57,"__hash__":58},"terms\u002Fterms\u002Fi\u002Finversion-of-control.md","Inversion of Control","IoC",{"type":8,"value":9,"toc":33},"minimark",[10,15,19,23,26,30],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"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. You just plug in the pieces and the framework orchestrates everything. React does this with components.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Inversion of Control is a principle where the control flow of a program is inverted compared to traditional procedural code. Instead of your code calling library functions, the framework calls your code at appropriate points. IoC containers manage object lifecycle and dependency resolution automatically.",[11,27,29],{"id":28},"when-youll-hear-this","When You'll Hear This",[16,31,32],{},"\"Spring Boot uses IoC to manage bean lifecycle.\" \u002F \"With IoC, you define what to do — the framework decides when.\"",{"title":34,"searchDepth":35,"depth":35,"links":36},"",2,[37,38,39],{"id":13,"depth":35,"text":14},{"id":21,"depth":35,"text":22},{"id":28,"depth":35,"text":29},"architecture","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.","intermediate","md","i",{},true,"\u002Fterms\u002Fi\u002Finversion-of-control",[6,49,50,51],"Dependency Injection","Dependency Inversion","Design Pattern",{"title":5,"description":41},{"changefreq":54,"priority":55},"weekly",0.7,"terms\u002Fi\u002Finversion-of-control",null,"8Dq9yYTf3GHuqxbJg45LEnLI_rkZqRz8d-F8Uj3ig_I",[60,63,66,69],{"title":49,"path":61,"acronym":57,"category":40,"difficulty":42,"description":62},"\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":64,"acronym":57,"category":40,"difficulty":42,"description":65},"\u002Fterms\u002Fd\u002Fdependency-inversion","Dependency Inversion says high-level code shouldn't depend on low-level code — both should depend on abstractions.",{"title":51,"path":67,"acronym":57,"category":40,"difficulty":42,"description":68},"\u002Fterms\u002Fd\u002Fdesign-pattern","Design patterns are like recipe cards for solving common coding problems.",{"title":6,"path":70,"acronym":6,"category":40,"difficulty":42,"description":71},"\u002Fterms\u002Fi\u002Fioc","IoC is the abbreviation for Inversion of Control. It's the Hollywood Principle: 'Don't call us, we'll call you.",1776518289353]