我对php中观察者设计模式和内省之间的区别感到困惑。 例如函数class_exists() - 它检查是否已经定义了一个类 - 是一个内省函数。 那么它是观察者设计模式的一个例子吗?
答案 0 :(得分:1)
不,内省函数不是观察者设计模式的一个例子。
observer pattern描述了例如要通知另一个类(主题)的变化的类(观察者)。
内省函数是用于reflection的函数。透视是相反的。主题未通知,但必须知道它正在寻找什么。
答案 1 :(得分:0)
完全没有。
观察者设计模式包括能够将观察者添加到可观察对象,以便可观察对象在发生事件时通知其所有观察者。
一个典型的例子是按钮点击处理程序。您将一个观察者(单击处理程序)注册到按钮(可观察对象),以便在单击该按钮时通知此处理程序。