As we know, there are three types of design pattern but you need to know that a facade design pattern is a structural design pattern
Intent
Gives an interface that is easier to use subsystems and provides an interface for a collection of subsystem interface
Core concept
Facade design pattern reduces the complexity by structuring system into a subsystem and limits the dependencies, communications between subsystems
Example
Suppose you have a software called concert and it contains three subsystems and each subsystem have different functions
Further more if a client want to play a concert he doesn’t need to call each function to play a concert
Participants
- Facade(concert)
- Subsystem classes(guitar_subsystem1, vocals_subsystem2, drums_subsystem3)
#include <iostream>
using namespace std;
class Guitar_Subsystem1
{
public:
void guitarcable() { cout << " Plug in electric guitar cable in the switch \n";}
void adjustment(){ cout << " String adjustment of the guitar\n";}
void amplifier (){ cout << " Connect amplifier for audio quality\n";}
};
class Vocals_Subsystem2
{
public:
void Vocalartist (){ cout << " Vocal artist for a concert\n";}
void microphone() { cout << " Set microphone with stand\n";}
void Pluginmicrophone () { cout << " Plugin microphone in switch\n";}
};
class Drums_Subsystem3
{
public:
void drumstick (){ cout << " Get two drum sticks\n";}
void drumsstand() { cout << " Set drums stand\n";}
void drummerchair () { cout << " Set chair for a drummer \n";}
};
class concert_Facade
{
private:
Guitar_Subsystem1 guitar;
Vocals_Subsystem2 vocals;
Drums_Subsystem3 drums;
public:
void Playconcert()
{
guitar.guitarcable();
guitar.adjustment();
guitar.amplifier();
vocals.Vocalartist();
vocals.microphone();
vocals.Pluginmicrophone();
drums.drumstick ();
drums.drumsstand();
drums.drummerchair();
}
};
int main()
{
concert_Facade facade;
facade.Playconcert();
return 0;
}
Output
Plug in electric guitar cable in the switch
string adjustment of the guitar
connect amplifier for audio quality
vocal artist for a concert
set microphone with stand
plug in microphone in switch
get two drum sticks
set drums stand
set chair for a drummer
Leave a Reply