观察者模式嘛,大段的概念我就不贴了。
大体上是,
基本上,满足上面四点的,就可以算是观察者模式了。来看一个demo,
它们的运行关系是这样的,
我觉得,其实就是先把dep的相关方法写好,放在某个地方,在需要的时候一执行,就算通知了。
这叫啥广播嘛,无非是把一些方法扔到集合里,然后在需要的时候,for循环排量执行而已。要我说呀,这就是个“某事件触发的回调”。
我觉得第3部分就是观察者模式的关键了,什么情况要发布通知?具体的状态更新逻辑写在哪里?我觉得都是在这里解决。
这个小demo,细看之下你会发现,我总觉得所谓的观察者模式,就类似于把家里的电闸合上,一瞬间就把主体和依赖这二方给连通了。
为啥今天想起来写观察者模式呢?因为我的零基础课,已经讲到一半了,再过几天把电商项目做完后,我计划带他们看一看jq源码,虽然简单,但jq是个很优秀的框架,里面很有一些思路。
再然后就要讲vue,reqct,然后计划带他们适当的看一看vue的源码。而vue它是一个mvvm的框架,我个人主观觉得吧,如果先理解观察者模式之后,再来看mvvm方面的东西会比较好一些。原型模式已经用了那么久了,明天周末,给他们讲观察者。