Facade

E173612

Facade is a structural design pattern that provides a simplified, unified interface to a complex subsystem, making it easier for clients to use.

All labels observed (2)

Label Occurrences
Facade canonical 1
Facade pattern 1

How this entity was disambiguated

Statements (45)

Predicate Object
instanceOf software design pattern
structural design pattern
alsoKnownAs wrapper to a subsystem interface
alternativeTo direct client-subsystem coupling
belongsTo Design Patterns: Elements of Reusable Object-Oriented Software
surface form: Gang of Four design patterns
canCollaborateWith Abstract Factory
surface form: Abstract Factory pattern

Mediator pattern
Singleton pattern
category object-oriented design pattern
consequence can become a god object if overused
reduces number of objects clients deal with
shields clients from subsystem classes
defines simple methods that delegate to subsystem objects
describedIn Design Patterns: Elements of Reusable Object-Oriented Software
encapsulates subsystem configuration
subsystem initialization
subsystem usage patterns
firstPublishedYear 1994
hasIntent define a higher-level interface that makes the subsystem easier to use
provide a unified interface to a set of interfaces in a subsystem
namedBy Erich Gamma
John Vlissides
Ralph Johnson NERFINISHED
Richard Helm
participantsInclude Facade class
client
subsystem classes
promotes information hiding
loose coupling
separation of concerns
provides simplified interface
unified interface
structureElement delegation to multiple subsystem objects
single entry point to subsystem
typicalUseCase providing simple APIs for complex frameworks
wrapping complex libraries
wrapping legacy systems
usedFor decoupling clients from subsystem implementations
encapsulating subsystem interactions
hiding complexity of subsystems
improving code maintainability
improving code readability
making complex subsystems easier to use
providing higher-level operations
reducing dependencies between clients and subsystems

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

Adapter relatedTo Facade
this entity surface form: Facade pattern