2->add ("Susan") i d2->displayDetails() ; delete d1,d2; // Output of the iterator program is shown in Figure 33.6. "D:\desktop_08_09\refer\DesignPatterns\Iterator\Debug\Iterator.exe" Name Dan Section Management Name: Phil Section: Management Name: Steve Section: Management Name: Mary Section: Techie Name: Rick Section: Techie Name: Susan Section: Techie Press any key to continue, Figure 33.6 Output obtained on executing iterator program. OSS Design Patterns 33.8 Mediator Design Pattern Overview: This pattern is used to provide a unified interface to a set of interfaces in a subsystem. It is popular in development of Web-based applications. Instead of implementing navigation logic in an individual Web page, with this pattern the navigation logic is moved to a mediator that makes the link between all the Web pages. Example of usage in telecom management programming: Most of the OSS are currently Web based. Web-based implementations makes it possible for OSS solu- tions to be accessed anytime and anywhere. A lot of code reuse is made possible in Web-based application development using mediator design pattern. Implementation: // Mediator Design Pattern // ver0.0 Jithesh Sathyan Aug 08, 2009 #include <iostream.h> class MedInf public: virtual void navigate ( ) {}; class Home private: MedInf *med; public: Home (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 