Suggest an editImprove this articleRefine the answer for “How does the Façade pattern help reduce coupling between modules?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)The **Facade** pattern reduces coupling between modules because it introduces a **single point of interaction** between a subsystem and external code, isolating them from each other. **Key point:** the client communicates only with the facade, so changes inside the module do not affect client code as long as the facade's interface stays the same.Shown above the full answer for quick recall.Answer (EN)ImageThe **Facade** pattern reduces coupling between modules because it introduces a **single point of interaction** between a subsystem and external code, isolating them from each other. --- ### 1. **It Hides the Internal Structure** The client communicates only with the facade, without knowing which classes and dependencies exist inside. If something inside the module changes (class names, structure, method signatures), the client code does not suffer, because the **facade's interface stays the same**. --- ### 2. **It Minimizes the Number of Dependencies** Without a facade, the client depends on dozens of classes in the module. With a facade, it depends on just one: ```java // without a facade Codec codec = new MPEG4Codec(); AudioMixer mixer = new AudioMixer(); BitrateReader.read(file, codec); mixer.fix(file); // with a facade VideoConverter.convert("movie.avi", "mp4"); ``` This makes the system **more isolated and resistant to change**. --- ### 3. **It Separates Responsibility Between Layers** The facade creates **clear boundaries** between modules: - the subsystem decides "how to do it", - the facade decides "what is exposed outward". This way, the layers of the application do not "leak" into each other. --- ### 4. **It Simplifies Maintenance and Testing** If the client depends only on the facade, the subsystem can be tested in isolation, without complex ties to other modules. --- ### 5. **Conclusion** The facade reduces coupling through: - **encapsulating** internal logic, - **limiting access points**, - **reducing the number of dependencies** between components. **Summary:** The client sees a simple API and does not depend on implementation details, while the system inside can change without the risk of "breaking" external code.For the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.