Glossary · Automation software engineering and architecture
Facade pattern
Also known as: Facade
German: Fassadenmuster
In software engineering, the facade pattern is a structural design pattern that provides a single, simplified interface to a complex subsystem, so clients can use common functions without dealing with the subsystem's individual components.
- Software engineering
In one sentence
The facade pattern provides a single, simplified interface to a complex subsystem so clients need not handle its individual parts.
Example
A 'Machine' facade offers Start, Stop, LoadRecipe and GetStatus to the MES interface, hiding the dozens of module function blocks behind it.
How it applies
- Engineering: Facades are useful at system boundaries, for example between a machine and higher-level systems, or between a library and application code. They reduce the number of dependencies clients have on internal details.
- Integration: A machine interface facade, sometimes aligned with standards such as PackML or OPC UA companion specifications, gives MES and SCADA integrators a stable interface even when internal software changes.
- Documentation: The facade is often the only interface external integrators see, so its documentation must be complete: commands, states, data items, units, error codes and version. Keep internal details out of integrator documentation.
Facade vs. adapter
A facade creates a new, simpler interface for a subsystem. An Adapter pattern converts an existing interface into another existing interface a client expects. A facade simplifies; an adapter makes things fit. A facade does not prevent direct access to the subsystem unless combined with Encapsulation.