Browse Java Design Patterns & Enterprise Application Architecture

Facade vs. Adapter Pattern

Compare Facade and Adapter in Java so subsystem simplification and interface translation do not get confused.

On this page

Facade and Adapter both sit at boundaries, but they solve different problems.

Adapter

Adapter says:

  • one dependency exposes the wrong interface
  • translate that interface into the contract the client already wants

The focus is mismatch.

Facade

Facade says:

  • the subsystem may be internally fine
  • the client should not need to deal with all of it directly
  • provide a simpler entry point for common tasks

The focus is simplification.

Practical Java Shortcut

Ask:

  • “Am I translating an awkward API?” -> Adapter
  • “Am I simplifying a busy subsystem boundary?” -> Facade

One can wrap the other, but they are not interchangeable.

Revised on Thursday, April 23, 2026