This commit is contained in:
刘洪宝 2018-12-03 13:55:41 +08:00
parent 6f3c0dc9fd
commit 07dea5a3c0
2 changed files with 3 additions and 3 deletions

View File

@ -30,7 +30,7 @@
4. 状态模式
5. 观察者模式
5. [观察者模式](https://github.com/silsuer/golang-design-patterns/tree/master/observer-pattern)
6. 备忘录模式

View File

@ -12,7 +12,7 @@
`PHP`世界中,最出名的观察者模式应该就是 `Laravel` 的事件了,`Laravel`是一个事件驱动的框架,所有的操作都通过事件进行解耦,实现了一个简单的观察者模式,比较典型的一个使用就是[数据库模型](https://laravel-china.org/articles/6657/model-events-and-observer-in-laravel),当观察到模型更改的时候,就会触发事件(`created`/`updated`/`deleted`...
最开始用模型观察者的时候,只要在 `Observers` 目录中创建一个观察者对象,并且添加观察者关联,就可以自动触发了,好神奇喔...
最开始用模型观察者的时候,只要在 `Observers` 目录中创建一个观察者对象,并且添加观察者关联,当修改模型的时候,就可以自动触发了,感觉好神奇喔...
观察者模式在实际开发中经常用到,主要存在于底层框架中,与业务逻辑解耦,业务逻辑只需要实现各种观察者被观察者即可。
@ -95,7 +95,7 @@
// 这里的被观察者要做各种更改...
// 更改完毕,触发观察者
s.NotifyObservers()
s.NotifyObservers() // output: 已经触发了观察者
```
## 举个实际应用的例子