我感觉老师前面介绍的两种思路和后面代码演示是讲解的有矛盾。
比如:推模型是不管观察者需不需要,一股脑的把所有或部分信息推送给观察者;拉模型是观察者按需从被观察者里面获取信息。
但是,老师在随后的代码演示中,把这两种解释反过来了。我感觉有点糊涂,老师给解答一下
你这是好久以前问的了,不知道你还在不在了,这样说,我给你重新大概一下,推模型是传递我想传的东西,所以在视频中,我们传递的是String类型,而不是我们整个类,但是这样子因为是定好的,局限比较大,拉模型呢,就是倒过来,我们把自己(目标)传过去,由观察者自己选择,都传过来了,自然适用范围就比较大(毕竟需要的东西都在了),,当然我这样说,我也是才看,有些不足,多看一下,自己多写几遍应该就明白了
推模型,好像每个观察者得到的消息都是一样的!
拉模型,根据观察者自身的需求,获取所需的数据!
推模式:开门,送快递
拉模型:你的快递到了,自己来取
推模型:是在Subject明确观察者Observer需要什么样的信息时,直接将其所需信息推送给观察者;
拉模型:是Subject不清楚Observer需要什么信息,直接把自己(想要我的财宝吗?想要的话拿去吧!)给了观察者Observer,想要什么信息自己去通过Subject的引用获取。
老师的讲解我没太注意,关键在于自己理解了,是吧。