What is the Facade Pattern?

Updated Apr 28, 2026

Short answer

A structural pattern that provides a simplified interface to a library, a framework, or any other complex set of classes.

Deep explanation

A facade is a class that provides a simple interface to a complex subsystem. It doesn't hide the subsystem completely but provides an easy-to-use shortcut for the most common use cases, reducing coupling between client code and the subsystem.

Real-world example

Providing a simple order.checkout() method that internally interacts with Inventory, Billing, and Shipping subsystems.

Common mistakes

  • Creating a Facade that becomes a God object tightly coupled to every class in the application.

Follow-up questions

  • Does a Facade prevent access to the underlying subsystem?

More Design Patterns interview questions

View all →