本文主要是介绍C++项目之酒店客房管理系统架构——设计模式应用场景详解(中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
3. 观察者模式(Observer Pattern):用于实现客房状态的观察和通知功能。当客房状态发生改变时,可以通知相关观察者,例如前台接待员或客房清洁人员。
我们首先定义了抽象的观察者类Observer
,其中声明了一个纯虚函数update()
,用于在主题状态发生改变时通知观察者。然后,定义了具体的观察者类RoomStatusObserver
,实现了update()
函数,输出观察者收到通知的信息。
接下来,我们定义了抽象的主题类Subject
,其中声明了添加观察者、移除观察者和通知观察者的纯虚函数。然后,我们定义了具体的主题类RoomStatusSubject
,实现了这些纯虚函数,以及一个额外的changeRoomStatus()
函数,用于模拟房间状态发生变化时通知观察者。
在主函数中,我们创建了两个观察者对象和一个主题对象,然后注册观察者到主题中。接着,我们调用changeRoomStatus()
函数模拟房间状态发生变化,并通过notifyObservers()
函数通知观察者。之后,我们移除了一个观察者,再次调用changeRoomStatus()
函数,观察到只有一个观察者收到了通知。
#include <iostream>
#include <vector>
// 抽象观察者类
class Observer {
public:
virtual void update() = 0;
};
这篇关于C++项目之酒店客房管理系统架构——设计模式应用场景详解(中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!