当前位置:首页 > 游戏 >

我的世界手机版观察者模式指令(我的世界手机版开启旁观模式指令)

来源:原点资讯(www.yd166.com)时间:2024-02-11 04:03:42作者:YD166手机阅读>>

我的世界手机版观察者模式指令,我的世界手机版开启旁观模式指令(1)

观察者模式是一种行为设计模式,其中一个对象(主题)维护其依赖对象(观察者)的列表,当主题的状态发生变化时,它通知所有观察者。以下是一个使用C 11实现观察者模式的简单例子:

  1. 定义观察者接口(Observer): 创建一个观察者接口,该接口包含观察者需要实现的更新方法。这个接口可以包含其他方法,但更新方法是必须的。
  2. 创建具体观察者类: 实现观察者接口的具体类。每个具体观察者类都应该实现更新方法,该方法定义了在主题状态变化时观察者应该执行的操作。
  3. 定义主题接口(Subject): 创建一个主题接口,该接口包含了添加、移除和通知观察者的方法。这里可以选择在主题接口中定义更新状态的方法,也可以在具体主题类中定义。
  4. 创建具体主题类: 实现主题接口的具体类。该类应该维护一个观察者列表,并在状态变化时通知所有观察者。
  5. 实现客户端代码: 在客户端代码中创建具体的主题和观察者对象,将观察者添加到主题中。客户端还负责触发主题状态的变化,从而通知观察者。

下面是对上述步骤的更详细的讲解:

步骤 1:定义观察者接口

// Observer.h #pragma once class Observer { public: virtual void update(int data) = 0; }; 步骤 2:创建具体观察者类

// ConcreteObserverA.h #pragma once #include <iostream> #include "Observer.h" class ConcreteObserverA : public Observer { public: void update(int data) override { std::cout << "Observer A 收到更新,数据为: " << data << std::endl; } };

// ConcreteObserverB.h #pragma once #include <iostream> #include "Observer.h" class ConcreteObserverB : public Observer { public: void update(int data) override { std::cout << "Observer B 收到更新,数据为: " << data << std::endl; } }; 步骤 3:定义主题接口

// Subject.h #pragma once #include "Observer.h" class Subject { public: virtual void addObserver(Observer* observer) = 0; virtual void removeObserver(Observer* observer) = 0; virtual void notifyObservers(int data) = 0; }; 步骤 4:创建具体主题类

// ConcreteSubject.h #pragma once #include <vector> #include "Subject.h" class ConcreteSubject : public Subject { private: std::vector<Observer*> observers; int data; public: void addObserver(Observer* observer) override { observers.push_back(observer); } void removeObserver(Observer* observer) override { observers.erase(std::remove(observers.begin(), observers.end(), observer), observers.end()); } void notifyObservers(int data) override { for (Observer* observer : observers) { observer->update(data); } } void setData(int newData) { data = newData; notifyObservers(data); } int getData() const { return data; } }; 步骤 5:实现客户端代码

// main.cpp #include "ConcreteObserverA.h" #include "ConcreteObserverB.h" #include "ConcreteSubject.h" int main() { ConcreteSubject subject; ConcreteObserverA observerA; ConcreteObserverB observerB; subject.addObserver(&observerA); subject.addObserver(&observerB); subject.setData(123); subject.removeObserver(&observerA); subject.setData(456); return 0; }

在这个例子中,我们创建了抽象观察者类 Observer,具体观察者类 ConcreteObserverA 和 ConcreteObserverB。然后,我们定义了抽象主题类 Subject 和具体主题类 ConcreteSubject。最后,在客户端代码中,我们创建了具体的主题和观察者对象,将观察者添加到主题中,并演示了状态变化时如何通知观察者,以及如何移除观察者。

如果你喜欢我的文章,请给我一个赞!

如果你怕把我弄丢了,请关注我,我会持续分享优质内容!

作者简介:
【架构师老卢】20年资深软件架构师,分享编程、软件设计经验,教授前沿技术,分享技术资源(每天分享一本电子书)

,

栏目热文

我的世界观察者模式变成创造模式(我的世界改为观察者模式的指令)

我的世界观察者模式变成创造模式(我的世界改为观察者模式的指令)

《我的世界》《我的世界》MC竟有8种游戏模式?最后1种,老玩家也活不过3秒!MC高达8种游戏模式,玩家最多见过3种,不信...

2024-02-11 04:05:27查看全文 >>

发质软国字脸适合什么发型(国字脸有美人尖适合什么发型)

发质软国字脸适合什么发型(国字脸有美人尖适合什么发型)

你说你一个头发细软塌,发量少.头皮贴,发际线后移,发际线还后移,你还非要留个长头发,扎着也不是被着也不是,总感觉自己的脸...

2024-02-11 04:07:31查看全文 >>

170国字脸适合什么发型(国字脸适合啥发型)

170国字脸适合什么发型(国字脸适合啥发型)

好的发型不管对于任何人都是很重要的,可以一点都不夸张的说,选对了发型,就跟换了张脸是一样的,简直比整容都可怕!但是呢,如...

2024-02-11 03:43:39查看全文 >>

方脸和国字脸适合什么发型(短脸国字脸适合什么发型)

方脸和国字脸适合什么发型(短脸国字脸适合什么发型)

方脸女性适合什么样的发型?舒淇倪妮告诉你,发型不论长短都很美。方脸女性们,你是否在寻找一款能够修饰脸型的发型?今天我们为...

2024-02-11 04:06:16查看全文 >>

上窄下宽的国字脸适合什么发型(适合国字脸的最新发型)

上窄下宽的国字脸适合什么发型(适合国字脸的最新发型)

国字方脸的女生适合什么发型?国字方脸的女生如果真的不知道该怎么弄你的发型,拜托你可以先多搜索一下资料,然后再去理发店找你...

2024-02-11 03:59:04查看全文 >>

三国志2霸王大陆武将地点表(三国志2霸王的大陆隐藏武将位置)

三国志2霸王大陆武将地点表(三国志2霸王的大陆隐藏武将位置)

当年玩过三国志2霸王的大陆的玩家,少说也有30岁了,时间眨眼即逝,当初玩游戏的快乐时光已经不复存在,即使重温也找不回当初...

2024-02-11 03:35:56查看全文 >>

三国志2霸王的大陆地图名(三国志2霸王大陆地图)

三国志2霸王的大陆地图名(三国志2霸王大陆地图)

三国志2霸王的大陆儿时的回忆三国志2霸王的大陆 三国志2霸王的大陆真的是属于非常经典的儿时游戏,相信大部分90年代的人,...

2024-02-11 04:03:23查看全文 >>

三国志2霸王的大陆所有人物(三国志2霸王的大陆人物出场年份)

三国志2霸王的大陆所有人物(三国志2霸王的大陆人物出场年份)

作为一款经典的三国策略游戏,霸王的大陆这个名字,想必很多老玩家都是记忆犹新的。自从1992年在红白机上诞生后,这款游戏就...

2024-02-11 03:40:32查看全文 >>

三国志2所有地图(三国志2地图名字)

三国志2所有地图(三国志2地图名字)

《孙子兵法》云:“夫地形者,兵之助也。料敌制胜,计险隘远近,上将之道也。知此而用战者必胜,不知此而用战者必败。”可见要想...

2024-02-11 03:35:48查看全文 >>

春夜喜雨古诗通俗解释(春夜喜雨古诗的意思简短)

春夜喜雨古诗通俗解释(春夜喜雨古诗的意思简短)

这首古诗是部编版六年级下册,古诗词诵读部分的第三首古诗。古诗词诵读这一部分,一共收入了十首古诗,这些古诗给出了注释和插图...

2024-02-11 04:11:20查看全文 >>

文档排行