[{"data":1,"prerenderedAt":67},["ShallowReactive",2],{"term-s\u002Fstrategy-pattern":3,"related-s\u002Fstrategy-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\u002Fs\u002Fstrategy-pattern.md","Strategy 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're writing a sorter and want to sort by price, name, or date depending on user choice. Instead of one giant if\u002Fswitch block, you create separate 'strategy' objects (SortByPrice, SortByName, SortByDate) and swap them in. The code using the sorter doesn't care which strategy is active — it just calls .sort(). Easy to add new strategies without touching existing code.",[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're writing a sorter and want to sort by price, name, or date depending on user choice.","intermediate","md","s",{},true,"\u002Fterms\u002Fs\u002Fstrategy-pattern",[48,49,50],"Observer Pattern","Factory Pattern","Decorator Pattern",{"title":5,"description":40},{"changefreq":53,"priority":54},"weekly",0.7,"terms\u002Fs\u002Fstrategy-pattern","cBVGVYYRv3r2PpFvIrzuLnz4_UDnka6uAxcwujztvPo",[58,61,64],{"title":50,"path":59,"acronym":6,"category":39,"difficulty":41,"description":60},"\u002Fterms\u002Fd\u002Fdecorator-pattern","You have a Coffee object. You want Coffee with Milk. Coffee with Sugar. Coffee with Milk and Sugar. With inheritance you'd need four classes.",{"title":49,"path":62,"acronym":6,"category":39,"difficulty":41,"description":63},"\u002Fterms\u002Ff\u002Ffactory-pattern","You want to create a 'notification' object but it might be an EmailNotification, SMSNotification, or PushNotification depending on user preferences.",{"title":48,"path":65,"acronym":6,"category":39,"difficulty":41,"description":66},"\u002Fterms\u002Fo\u002Fobserver-pattern","Think of a newsletter. You (the publisher\u002Fsubject) publish content. Your subscribers (observers) automatically get notified when new content arrives.",1776518315784]