Bran, I love your content man. The high level explanation, your pace, the video quality and finally the music that for once on TH-cam serves the content and just sooth you. Minor mode for major goal 😉 Best of luck for the future my friend
Very good explanation. Maybe a music peace in minor is not the best fit for your relaxed voice, tho. It sounds like you're going to announce something sad. ;)
Everything has an Interface. The interface of a function is it's name, it's arguments and it's return types. The interface of a TV is it's remote control, and the interface of a car is it's steering wheel, gas/break pedals, etc. When using it like intended, we don't directly interact with the internals of a TV (circuitry), nor with the internals of a car (engine). I have a video on Interface-First Programming if you want to know more. You can think of the interface as the thing you are interacting with, which is different from the things that are behind that, which you are not directly interacting with. The interface exists because it enables a use-case: the engine of a car can run by itself, but it's not useful yet, just as a TV can run without a human watching it, but that's not useful. We added a steering wheel to an engine because humans are using the engine for a very specific thing; going somewhere. The interface encodes it's use-case. A Facade is an extra layer (an extra interface) in between a call site and an implementation (e.g. a function, file, class, or service). This extra layer can be there because you don't like the interface that the implementation offers by itself, or it can be there because you don't want to directly depend on the interface of the implementation. A Facade has, like all functions/classes/files, also an interface: it's names, arguments, return types, etc. Anything you directly interact with from the call site.
@@branvandermeer So, if i were to program an extra layer between the firebase API and my web app because I didn't like the convoluted process for image uploads and wanted to simply function calls with a one time configuration, that would be a facade.
Thank you for sharing this pattern. I am wondering if this pattern might apply to audio. I like how easy it is to use html/css/JavaScript to build a GUI. But using the web audio API has some limitations that make game dev difficult. Maybe a facade would help??
This is actually the best explanation of the Facade pattern I have stumbled upon. Well done sir!
Bran, I love your content man. The high level explanation, your pace, the video quality and finally the music that for once on TH-cam serves the content and just sooth you. Minor mode for major goal 😉
Best of luck for the future my friend
This is by far the best ever explanation for the facade pattern. Thank you!
The Facade Design Pattern, so beautifully explained. Thank you very much.
{2024-07-01} - Subscribed!
Love the seek discomfort shirt!
Very good explanation. Maybe a music peace in minor is not the best fit for your relaxed voice, tho. It sounds like you're going to announce something sad. ;)
Wonderful
How can I recognize a facade pattern?
What is the difference between a facade and an API? Thanks
Everything has an Interface. The interface of a function is it's name, it's arguments and it's return types. The interface of a TV is it's remote control, and the interface of a car is it's steering wheel, gas/break pedals, etc. When using it like intended, we don't directly interact with the internals of a TV (circuitry), nor with the internals of a car (engine). I have a video on Interface-First Programming if you want to know more. You can think of the interface as the thing you are interacting with, which is different from the things that are behind that, which you are not directly interacting with.
The interface exists because it enables a use-case: the engine of a car can run by itself, but it's not useful yet, just as a TV can run without a human watching it, but that's not useful. We added a steering wheel to an engine because humans are using the engine for a very specific thing; going somewhere. The interface encodes it's use-case.
A Facade is an extra layer (an extra interface) in between a call site and an implementation (e.g. a function, file, class, or service). This extra layer can be there because you don't like the interface that the implementation offers by itself, or it can be there because you don't want to directly depend on the interface of the implementation.
A Facade has, like all functions/classes/files, also an interface: it's names, arguments, return types, etc. Anything you directly interact with from the call site.
@@branvandermeer So, if i were to program an extra layer between the firebase API and my web app because I didn't like the convoluted process for image uploads and wanted to simply function calls with a one time configuration, that would be a facade.
@@benflightart yes!
@@branvandermeer thanks for helping me understand!
Thank you for sharing this pattern. I am wondering if this pattern might apply to audio. I like how easy it is to use html/css/JavaScript to build a GUI. But using the web audio API has some limitations that make game dev difficult. Maybe a facade would help??
Perfect 👌
Nice, If possible please try to make other design pattern videos also.