Suggest an editImprove this articleRefine the answer for “What is the essence of the Façade pattern?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)**Facade** is a **structural pattern** that provides a **simplified, unified interface** to a complex subsystem, hiding its internal details and dependencies. **Key point:** the facade encapsulates complexity, coordinates the work of the subsystems, and makes the interface simple and clear for the client.Shown above the full answer for quick recall.Answer (EN)Image**Facade** is a **structural pattern** that provides a **simplified, unified interface** to a complex subsystem, hiding its internal details and dependencies. --- ### 1. **The Core Idea** In large systems, components interact through many classes, methods, and modules. The facade acts as a **single entry point** that: - encapsulates complexity, - coordinates the work of the subsystems, - makes the interface simple and clear for the client. --- ### 2. **When to Use It** - When a system is too complex to use directly. - When you need to separate client code from the internal implementation of a library or module. - When you need to provide **limited, safe access** to functionality. --- ### 3. **Example (Java)** Without a facade: ```java VideoFile file = new VideoFile("movie.avi"); Codec codec = new MPEG4Codec(); AudioMixer mixer = new AudioMixer(); BitrateReader.read(file, codec); mixer.fix(file); ``` With a facade: ```java class VideoConverter { public File convert(String filename, String format) { // complex logic inside System.out.println("Converting video..."); return new File("output." + format); } } // Client: VideoConverter converter = new VideoConverter(); converter.convert("movie.avi", "mp4"); ``` Now the client does not need to know about `Codec`, `Reader`, and `Mixer`: it is all hidden behind the facade. --- ### 4. **Advantages** - Simplifies using complex systems. - Isolates client code from internal changes. - Reduces coupling between modules. - Improves code readability and maintainability. --- ### 5. **Disadvantages** - Can turn into a **"god object"** if too much logic is added to it. - Sometimes **makes access harder** to advanced functionality hidden behind a simple interface. --- **Summary:** The **Facade** pattern creates a **single, simplified interface** on top of a complex system, letting the client use the functionality **without diving into the internal details**.For the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.