gpt4 book ai didi

design-patterns - 观察者设计模式的故事是什么?

转载 作者:行者123 更新时间:2023-12-04 17:36:39 27 4
gpt4 key购买 nike

我一直在调查一项任务的观察者模式。到目前为止,我得出的结论是,它首先出现在一群人写的一本名为“四人帮”的书中。

但我也读到它的第一个实现是在基于 SmallTalk MVC 的框架中。

观察者模式有起源吗?谁先设计的?哪个 GoF 成员做到了?自创建以来,它是否发生了任何变化?

此外,该模式的一些实现包括他们所谓的“ConcreteSubject”,它是 Subject 类的泛化。这是模式的变体,还是原始模型的演变?

最佳答案

四人组对设计模式的主要贡献实际上是为一些常用模式命名,以帮助传达设计意图。写起来容易多了

// this is an observer

而不是一大堆没人会读的评论。如果人们共享行话,开发人员可以更有效地沟通。

观察者模式早在 OO 编程之前就已经存在了。大多数情况下,它使用术语“回调”来引用,通常使用各种语言的函数指针来实现,或者甚至可能是一个用于指示应该调用哪个函数/过程/子例程的标志。这代表了模块之间最早的抽象通信形式之一。我什至在汇编语言中看到过类似的方法——存储一个回调地址并使用它来间接通知“发生了一些事情”。

需要记住的一件大事......四人组在设计模式书中展示的实现并不是“绝对的”——它们在那里展示了一种方法。您可以使用函数指针轻松实现观察者模式,就像使用抽象类、接口(interface)或 C# 委托(delegate)一样容易。

(顺便说一句,我在约翰霍普金斯大学教授设计模式类(class);))

关于design-patterns - 观察者设计模式的故事是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599899/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com