[{"data":1,"prerenderedAt":68},["ShallowReactive",2],{"term-f\u002Ffactory-pattern":3,"related-f\u002Ffactory-pattern":57},{"id":4,"title":5,"acronym":6,"body":7,"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":6,"__hash__":56},"terms\u002Fterms\u002Ff\u002Ffactory-pattern.md","Factory Pattern",null,{"type":8,"value":9,"toc":32},"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",{},"You want to create a 'notification' object but it might be an EmailNotification, SMSNotification, or PushNotification depending on user preferences. A Factory handles the 'which one?' decision for you. Your code asks the factory for 'a notification' and the factory figures out the right class to instantiate. Clean, extensible, closed to modification.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"undefined",[11,27,29],{"id":28},"when-youll-hear-this","When You'll Hear This",[16,31,25],{},{"title":33,"searchDepth":34,"depth":34,"links":35},"",2,[36,37,38],{"id":13,"depth":34,"text":14},{"id":21,"depth":34,"text":22},{"id":28,"depth":34,"text":29},"architecture","You want to create a 'notification' object but it might be an EmailNotification, SMSNotification, or PushNotification depending on user preferences.","intermediate","md","f",{},true,"\u002Fterms\u002Ff\u002Ffactory-pattern",[48,49,50],"Strategy Pattern","Singleton Pattern","Dependency Injection",{"title":5,"description":40},{"changefreq":53,"priority":54},"weekly",0.7,"terms\u002Ff\u002Ffactory-pattern","exfv8IVbDjyjXfwvKDIuyIf1aBLkgLSgfLu_n8xtBgM",[58,61,65],{"title":50,"path":59,"acronym":6,"category":39,"difficulty":41,"description":60},"\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":49,"path":62,"acronym":6,"category":39,"difficulty":63,"description":64},"\u002Fterms\u002Fs\u002Fsingleton-pattern","beginner","Singleton says: 'this class shall have exactly ONE instance, ever.' Database connections, config objects, loggers — things you only want created once.",{"title":48,"path":66,"acronym":6,"category":39,"difficulty":41,"description":67},"\u002Fterms\u002Fs\u002Fstrategy-pattern","You're writing a sorter and want to sort by price, name, or date depending on user choice.",1776518278868]