大白话的问一下观察者模式

一直知道laravel有一个观察者模式,可是一直没看懂什么意思,也不知道在哪运用上,所以想大白话来问一下观察者模式,不知道是不是这么回事;

比如A是一个观察者,然后他已经有B、C、D的电话号码,和一个电话;
然后B、C、D都是观察者下面的类,然后他们都有A观察者的电话号码和一个电话;

如果给要执行一个事情,是不是我只要告诉B了,然后B就执行方法,然后打电话给A,然后A就根据已有的电话号码,挨个打电话通知所有人,噢,有人执行了啥啥啥,你们都要执行一次。

逻辑大概是:
A:

A
----B电话号码 // public function AAA(Observer $Observer);
----C电话号码 // public function AAA(Observer $Observer);
----D电话号码 // public function AAA(Observer $Observer);
-------电话 // public function notify();

B、C、D:

// 继承A ,大概就是有A的电话号码的意思。

// 函数方法
public function AAA($xxx)
{
    ...
}

// 打电话 - 通知
public function notify()
{
    ...
}

调用

    $observer1 = new B();  // new一下B
    $Subject->AAA('xxx');  // 执行一个事件
    $Subject->notify();  // 告诉他通知一下

    // 那么这个位置,是不是只要B执行了一下。B就会通知A。然后A就会告诉C和D。你们都要执行一下XXX事件?

话说我这么白话文的说。是不是正确的?有什么地方是不正确的吗?
这是不是就是观察者的处于?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 1

splobserver splsubject 了解一下?使用一下吧.看再多理论不如写几次来的实在.

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!