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