In using the facade design pattern you can provide a simple and unified high level interface for a set of interfaces that make the sub systems decoupled from the client and also ensures that the sub systems are easy to use. Facade pattern hides the complexities of the system and provides an interface to the client using which the client can access the system. The facade pattern is appropriate when you have a complex system that you want to expose to clients in a simplified way, or you want to make an external communication layer over an existing system which is incompatible with the system. This type of design pattern comes under structural pattern as this pattern adds an interface to exiting system to hide its complexities. Facade is a structural design pattern that provides a simplified (but limited) interface to a complex system of classes, library or framework. This type of design pattern comes under structural pattern as this pattern adds an interface to existing system to hide its complexities. This real-world code demonstrates the Facade pattern as a MortgageApplication object which provides a simplified interface to a large subsystem of classes measuring the creditworthyness of an applicant. If we try to understand this in simpler terms, then we can say that a room is a façade and just by looking at it from outside the door, one can not predict what is inside the room and how the room is structured from inside. Facade design pattern is useful when you want to handle a complex system which has multiple independent subsystems. Structuring a system into subsystems helps reduce complexity. Facade design pattern is useful when you want to handle a complex system which has multiple independent subsystems. In this article, I am going to discuss the Facade Design Pattern in C# with some examples. The Facade Design Pattern falls under the category of Structural Design Pattern.As part of this article, we are going to discuss the following pointers. Discussion. Please read our previous article where we discussed the Adapter Design Pattern in C# with examples. Participants. It will provide you an abstraction to implement functionality of the complex subsystem. While Facade decreases the overall complexity of the application, it also helps to move unwanted dependencies to one place. This supports loose coupling by hiding the complex details via a simple interface. It will provide you an abstraction to implement functionality of the complex subsystem. Facade in C#. This type of design pattern comes under structural pattern as this pattern provides ways to decrease object count thus improving the object structure of application.