“观察者模式,是编程中最常用的设计模式之一。”
陈节开始了标准的“催眠大法”,面对着几排屁股冲他的大显示器娓娓道来。
虽然课间只有十分钟,不过足够同学们从307班的教室走到教学楼三层的机房了。林铭拖着堪堪恢复过来的酸痛的双腿,拒绝了几个热心同学的搀扶,走到机房的时候,只有第一排有空位了。只好在第一排就坐。
每人前面都摆着一个大屁股显示器挡住老师的视线,陈节自己也很少下来走动。
于是对于大多数人,计算机课这45分钟,就是做其他课作业的时间,约等于自习课。
也是因为计算机在应试中地位比较低:在高考中只占40分,也都是一些常识题和二进制计算题,到高三那年,做一遍最近二十年高考真题,应付高考就绰绰有余了,能稳拿32分。
所以,听课的人不多。
除了平时学有余力,甚至在考虑参加中学生信息奥赛的,此时听得津津有味。
第一排就有一位:连士隆。
“单纯看到‘观察者’这个名词,你们会想到什么?”
说是“你们”,陈节自己也知道,这个等于“你”,等于第一排这个戴着眼镜的连士隆。
这孩子,看得出来热爱编程。才高一下学期,就把python语言学得有模有样,已经远远不是写“Hello, World”的水平了,但是距离参加信息奥赛,手撸算法,还差得很远。
可惜了,有兴趣,没天赋。
不过陈节也想:兴趣也是天赋的一种。
因此,每次给307班讲课,都不自觉讲得多一些,主要是讲给连士隆听。
如果不是连士隆的其他学科成绩只能说是处于中游水平,不然的话,陈节想像年级主任建议,把连士隆调到300或301班。这两个班都有几个搞信息竞赛的苗子,兴许能一起交流一下。
未来大家一起进大厂,做程序员,(34岁以前)多有前途。
“想到上课偷摸看手机,被老师在窗外观察。”连士隆认真道。
陈节失笑。
同样坐在第一排的林铭抬起头:“发布和订阅,监听消息源,这些。”
“嗯?”陈节都忍不住鼓掌了,“你学过吗?”
林铭:“不知道。”
陈节仔细打量了一下林铭:“这位同学新来的吗?”
连士隆替林铭回答:“对,是昨天刚转校过来的。”
看来连士隆现在有交流的同伴了啊。陈节欣慰地想。
以后300和301这两个尖子班如果有人想参加信息竞赛,组队又缺队友,可以把307班的两个人推荐过去。
“观察者模式一般用于建立两个对象之间的一种依赖关系:当一个对象发生改变的时候,就自动通知另外一个对象,触发另外一个对象做出相应的反应,比如修改对象内的数据,执行某一段逻辑,等等。”
“在观察者模式中,我们称发生改变的对象为观察目标,称被通知的目标为观察者。”
林铭点点头,看连士隆还在思索,小声说道:“观察对象就相当于你家门铃,有人按门铃,你就去开门,你就是那个观察者。”
连士隆豁然开朗。
……
现实世界。
距离地球数亿光年的龙族文明母星,一个四周都是监控大屏的场地。
“观察对象信号稳定了吗?”一个官员模样的人形生物问道。
戴着耳麦的工作人员皱着的眉头缓缓松开:“稳定了。”
“接上音频,开始分析金字塔世界都有些什么声音。”官员立刻下令。周围的几个操作员忙碌了起来。