Professional Documents
Culture Documents
Facade Design Pattern - Dev Genius
Facade Design Pattern - Dev Genius
Overview
The main idea for the facade design is hiding the complexities of the application. The
user would use an interface/facade instead to access any methods.
Implementation
Interface
https://blog.devgenius.io/facade-design-pattern-a07e2d0d585b 1/4
8/31/2021 Facade Design Pattern - Dev Genius
// Animal.java
void species();
Class Implementation
// Dog.java
@Override
System.out.println("Dog");
Interface implementations.
// Cat.java
@Override
System.out.println("Cat");
// Bird.java
@Override
System.out.println("Bird");
Facade
// AnimalMaker.java
public AnimalMaker() {
https://blog.devgenius.io/facade-design-pattern-a07e2d0d585b 2/4
8/31/2021 Facade Design Pattern - Dev Genius
dog.species();
cat.species();
bird.species();
Demo
// Demo.java
animalMaker.dogSpecies();
animalMaker.catSpecies();
animalMaker.birdSpecies();
>> Dog
>> Cat
>> Bird
Instead of creating concrete classes you would call their methods through the facade.
Conclusion
You would probably use the facade pattern if you had a complex system. You would
want to hide the complexities and expose a simplified way for others to use.
Get the latest news and update from DevGenius publication Take a look.
https://blog.devgenius.io/facade-design-pattern-a07e2d0d585b 3/4
8/31/2021 Facade Design Pattern - Dev Genius
https://blog.devgenius.io/facade-design-pattern-a07e2d0d585b 4/4