jargon

Comparison

Facade patternvsProxy pattern

Facade pattern

you replaced eleven calls across four classes with one method, and callers stopped needing to know the order.

A single simplified entry point over a subsystem of several collaborating classes. Its intent is simplification rather than translation: the facade defines a new, smaller interface where the adapter conforms to an existing one, and it typically wraps many objects where the other wrappers wrap one. It does not hide the subsystem — callers who need the detail can still reach past it, which is the difference between a facade and a boundary.

Full entry →

Proxy pattern

the object looks and behaves exactly like the real one, and its whole job is deciding whether the call gets through.

A wrapper with the same interface as its subject whose purpose is to control access to it — checking permission, deferring creation, or standing in for something remote. It shares its shape with the decorator and differs in intent: a decorator adds behaviour the caller wants, a proxy manages access the caller should not have to think about. Proxies typically control the subject's lifetime as well, where decorators are handed one already made.

Full entry →

Related comparisons