(MedInf *x) med = X; go ( ) cout<<"In home page" <<endl ; med->navigate ( ) ; class Purchase private: MedInf *med; Fundamentals of EMS, NMS and OSS/BSS public: Purchase (MedInf * x) med = X; go ( ) cout<<"In Purchase page" <<endl ; med->navigate (); class Search private: MedInf *med; public: Search (MedInf *x) med = X; cout<<"In Search page" <<endl ; med->navigate (); class Exit private: MedInf *med; public: Exit (MedInf *x) med = X; go ( ) cout<<"Exiting "<<endl; class Mediator:public MedInf private: Home *home; Purchase *pur; Search *sur; Exit *ext; public: Mediator ( ) OSS Design Patterns home = new Home (this) ; pur = new Purchase (this) ; sur = new Search (this) ; ext = new Exit (this) ; void navigate () int n; cout << "Make a selection [1] Home [2] Purchase [3] Search [4] Exit" <<endl ; cin>>n; switch (n) case 1: home->go ( () ; break; case 2: pur->go () i break; case 3 : sur->go ( ( ) ; break; case 4 : ext->go() ; break; default: cout<<"Wrong choice"<<endl; ext->go() ; break; void main () MedInf *x = new Mediator(); x->navigate () ; // Output of the mediator program is shown in Figure 33.7. "D:\desktop_08_09\refer\DesignPatterns\Mediator\Debug\Mediator.exe Make a selection [1 ]Home [2 Purchase [3 ]Search [4]Exit In home page Make a selection [1 ]Home [2 2 Purchase [3 Search [4]Exit In Purchase page Make a selection [1 JHome [2 ]Purchase [3]Search [4]Exit In Search page Make a selection [1 ]Home [2 : Purchase [3 Bearch [4]Exit Exiting Press any key to continue. Figure 33.7 Output obtained on executing mediator program. Fundamentals of EMS, NMS and OSS/BSS 33.9 Conclusion The important note the author wants to convey from this chapter is that knowledge of the business logic is not enough to develop a good man- agement solution. The service developers need to have a good under- standing of the programming language used, the best practices in the programming language, and the design patterns that can be used to implement an effective OSS solution for commercial use. This chapter only details some of the design