Observer Pattern
class Observer {
public:
virtual void handle(int id) = 0;
};
β
class Observer1 : public Observer {
public:
void handle(int id) {
switch (id) {
case 1:
cout << "Message 1" << endl;
break;
case 2:
cout << "Message 2" << endl;
break;
default:
cout << "Unknown message" << endl;
break;
}
}
};
β
class Observer2 : public Observer {
public:
void handle(int id) {
switch (id) {
case 2:
cout << "Message 2" << endl;
break;
case 3:
cout << "Message 3" << endl;
break;
default:
cout << "Unknown message" << endl;
break;
}
}
};
β
class Observer3 : public Observer {
public:
void handle(int id) {
switch (id) {
case 1:
cout << "Message 1" << endl;
break;
case 3:
cout << "Message 3" << endl;
break;
default:
cout << "Unknown message" << endl;
break;
}
}
};Last updated