[{"data":1,"prerenderedAt":225},["ShallowReactive",2],{"term-f\u002Ffacade-pattern":3,"related-f\u002Ffacade-pattern":209},{"id":4,"title":5,"acronym":6,"body":7,"category":190,"description":191,"difficulty":192,"extension":193,"letter":194,"meta":195,"navigation":196,"path":197,"related":198,"seo":203,"sitemap":204,"stem":207,"subcategory":6,"__hash__":208},"terms\u002Fterms\u002Ff\u002Ffacade-pattern.md","Facade Pattern",null,{"type":8,"value":9,"toc":184},"minimark",[10,15,19,23,26,30,173,177,180],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"Facade Pattern is like the front desk at a hotel. You don't call housekeeping, maintenance, and the kitchen separately — you call the front desk and they coordinate everything. A facade provides a simple interface to a complex subsystem, hiding all the messy coordination.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"The Facade pattern provides a simplified interface to a complex subsystem of classes, libraries, or frameworks. It doesn't prevent direct access to the subsystem but provides a convenient higher-level interface. Reduces complexity for common use cases and decouples clients from implementation.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Facade hides complex subsystem\nclass HomeTheaterFacade {\n  turnOn() {\n    this.amp.on();\n    this.projector.on();\n    this.speakers.setVolume(10);\n    this.lights.dim(50);\n  }\n}\n","javascript","",[38,39,40,49,64,76,98,114,139,161,167],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Facade hides complex subsystem\n",[41,50,52,56,60],{"class":43,"line":51},2,[41,53,55],{"class":54},"spNyl","class",[41,57,59],{"class":58},"sBMFI"," HomeTheaterFacade",[41,61,63],{"class":62},"sMK4o"," {\n",[41,65,67,71,74],{"class":43,"line":66},3,[41,68,70],{"class":69},"swJcz","  turnOn",[41,72,73],{"class":62},"()",[41,75,63],{"class":62},[41,77,79,82,86,89,93,95],{"class":43,"line":78},4,[41,80,81],{"class":62},"    this.",[41,83,85],{"class":84},"sTEyZ","amp",[41,87,88],{"class":62},".",[41,90,92],{"class":91},"s2Zo4","on",[41,94,73],{"class":69},[41,96,97],{"class":62},";\n",[41,99,101,103,106,108,110,112],{"class":43,"line":100},5,[41,102,81],{"class":62},[41,104,105],{"class":84},"projector",[41,107,88],{"class":62},[41,109,92],{"class":91},[41,111,73],{"class":69},[41,113,97],{"class":62},[41,115,117,119,122,124,127,130,134,137],{"class":43,"line":116},6,[41,118,81],{"class":62},[41,120,121],{"class":84},"speakers",[41,123,88],{"class":62},[41,125,126],{"class":91},"setVolume",[41,128,129],{"class":69},"(",[41,131,133],{"class":132},"sbssI","10",[41,135,136],{"class":69},")",[41,138,97],{"class":62},[41,140,142,144,147,149,152,154,157,159],{"class":43,"line":141},7,[41,143,81],{"class":62},[41,145,146],{"class":84},"lights",[41,148,88],{"class":62},[41,150,151],{"class":91},"dim",[41,153,129],{"class":69},[41,155,156],{"class":132},"50",[41,158,136],{"class":69},[41,160,97],{"class":62},[41,162,164],{"class":43,"line":163},8,[41,165,166],{"class":62},"  }\n",[41,168,170],{"class":43,"line":169},9,[41,171,172],{"class":62},"}\n",[11,174,176],{"id":175},"when-youll-hear-this","When You'll Hear This",[16,178,179],{},"\"Create a facade over these three payment services.\" \u002F \"The SDK is a facade over the raw HTTP API.\"",[181,182,183],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":185},[186,187,188,189],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":175,"depth":51,"text":176},"architecture","Facade Pattern is like the front desk at a hotel.","beginner","md","f",{},true,"\u002Fterms\u002Ff\u002Ffacade-pattern",[199,200,201,202],"Design Pattern","Adapter Pattern","API Gateway Pattern","Abstraction",{"title":5,"description":191},{"changefreq":205,"priority":206},"weekly",0.7,"terms\u002Ff\u002Ffacade-pattern","8On5P1AMPcbfHKUT2mod1kDiYyQTqxndfB7QX7q1y8A",[210,213,217,222],{"title":202,"path":211,"acronym":6,"category":190,"difficulty":192,"description":212},"\u002Fterms\u002Fa\u002Fabstraction","Abstraction is hiding the messy details and showing only what matters.",{"title":200,"path":214,"acronym":6,"category":190,"difficulty":215,"description":216},"\u002Fterms\u002Fa\u002Fadapter-pattern","intermediate","You're in Europe with a US charger. You need an adapter. In code, your app expects a PaymentProcessor with a .pay() method, but the new Stripe SDK uses .",{"title":201,"path":218,"acronym":6,"category":219,"difficulty":220,"description":221},"\u002Fterms\u002Fa\u002Fapi-gateway-pattern","backend","advanced","An API gateway is the front door for all your microservices.",{"title":199,"path":223,"acronym":6,"category":190,"difficulty":215,"description":224},"\u002Fterms\u002Fd\u002Fdesign-pattern","Design patterns are like recipe cards for solving common coding problems.",1776518278834]