Facade Design Pattern

Code is Here:

Best Design Patterns Book :

Welcome to may Facade Design Pattern Tutorial! The Facade pattern is extremely easy to understand. Chances are you have used it already and just didn’t know it.

The Facade pattern basically says that you should simplify your methods so that much of what is done is in the background. In technical terms you should decouple the client from the sub components needed to perform an operation.

All of the code that I link to above will fill you in on anything you don’t catch in the video.






35 responses to “Facade Design Pattern”

  1. lehlohonolo hlox Avatar

    Great tutorial Derek, you made it easy for me to undestand the Facade design pattern 🙂

  2. Ranjan Sparrow Avatar

    These are the best videos for beginners. Absolutely Loving it!!!

  3. asemelayan1 Avatar

    Literally the best….

  4. Eduardo Segovia Avatar

    Good job, keep it up, proud of ya

  5. varma kaushik Avatar

    I learnt more than i thought i would from this video. thanks.

  6. Baltori Xervo Avatar

    actually decreaseCashInAccount should call haveEnoughMoney, and not the other way around, but still works tho

  7. mahesh Avatar

    Impressive !!!, Simplicity @ its Best.

  8. Ardit Meti Avatar

    Hi, can someone tell me what are the pros of doing it this way instead of writing just 1 class which have all those functions that all the other classes have? Does it violate the single responsibility principle?

  9. Test Test Avatar

    If I'm correct, there was no interface interaction in this example. But Facade design can still work perfectly fine. Just want to double check because I'm going through the basic fundamentals.

  10. Jorge Cruz Avatar

    Just a question .. why make a new method called makeADeposit just to call the method increaseCashInAccount? Can't you just call the latter directly?

  11. Saurabh Karnik Avatar

    Great Stuff Derek! Thanks a ton!! ALL of your design pattern videos are very easy to understand.

  12. Karolis Liucveikis Avatar

    Why did you created a separate class for each task, rather than putting everything in a single one? Or is this the idea of Facade – putting everything separately and using Facade class as an interface manager by creating certain objects and calling other classes' methods in order to perform certain actions? The idea is to write the code in separate classes?

    By the way, thanks for everything. Been watching your tutorials every time I need something (C, C++, Java, Bash, Prolog, Haskell, some other stuff) for a couple of years now. Really helpful. Well done. (Y)

  13. iGotTheGift Avatar

    What should I do if my bank can't find my monie

  14. Link149 Avatar

    You should probably change your bank account's security key. 😉

  15. Aisha Radwan Avatar

    for library system would it be right if i coded it in facade pattern!

  16. Spencer  Depas Avatar

    Thanks a lot. Your work has helped me a lot.

  17. Raheel Khan Avatar

    u r the best ! 500th like 😉

  18. James Oh Avatar

    If the case happens where the security code is incorrect but they have enough money, then doesnt haveEnoughMoney() method in the boolean case still withdraw??

  19. Yasir Shabbir Avatar

    nice tutorial .
    Can you please tell where I can use Facade design pattern ?

  20. Sandeep G Avatar

    Thank you for explaining in a very simple way.

  21. Isuru Nanayakkara Avatar

    Hi Derek, thanks for the tutorial. I have a question. Can sub systems behind the facade interact with each other? Is it allowed?

  22. Muztaba Hasanat Avatar

    what is the difference between Adapter and Facade design pattern ? In Adapter an intermediate class is introduced to hide the others functionality. Is in Facade the same thing happening ?

    I have also watched your Proxy design pattern tutorial. Facade is more similar to Proxy that is what I think. It would be very helpful if you would distinguish this three pattern. Because all three is hiding some part of work from the client.

  23. Mércio Filho Avatar

    Awesome! Thank you!

  24. an1792 Avatar

    thank you so much

  25. TimBee100 Avatar

    Is this similar to the Business delegate design pattern? they seem to have a lot in common, although the purpose may not be the same.

  26. Carlos Vizcaino Avatar

    Hey, Derek.

    How is the Adapter different from Proxy Design Pattern. Thanks.

  27. Sipan Arevshatyan Avatar

    So simple and easy. Thank you!!

  28. crudhost Avatar

    Really helpful. Thank you very much.

  29. Larry Bernstein Avatar

    Derek, Ive never enjoyed these videos as much as I enjoy yours. I do have a question though. Why not check the accountnumber and security code in the constructor of BankAccount? If the account number or security code us wrong set a boolean that will let if we can go further or not. This will avoid duplicate code.

  30. Chadi Khouri Avatar

    Thank you Mr. Derek for the perfect description. Let me ask you a question:
    can facade or session facade help me in design the below case:
    I am developing a servlet page which return result depending on the input parameters and I should save the parameters during the session in DB or online object.
    what do you think

  31. Diego Benitez Avatar

    Hi, im following all yours videos, and i have to say that im learning more from you than collage professors. Im begginer in design patterns, and let me ask you, why there is a class that acts like a method? ex: accountcheck, fundscheck, securitycodecheck? thank you and keep making videos

  32. MusingRabbit Avatar

    Oh….. Thats a design pattern? Thought that was simply encapsulation.

  33. aditya chaudhari Avatar

    Thank You for quick explanation

Leave a Reply

Your email address will not be published. Required fields are marked *