沃毕尼闷兜率

沃毕尼闷兜率

这家伙有点懒,还没写个性签名!

  • 财富值35
  • 威望值0
  • 总积分145

个人信息

  • 回复了 的回复

    观察者模式,与不用观察者模式相比,除了多写了一堆的代码,其他并没体现出什么好处。

    具体以你讲的例子来说:

    但是,当系统变大的时候,这种方法马上面临难以扩展的问题,并且容易出错。
    比如老王不想订阅了,我们需要改源代码。
    比如又增加了一个客户,我们要去改源代码。
    比如xxx,我们都需要改源代码。
    这两个对象的耦合度太高了。

    $model = new Video();
    $model->attach(new LaoWang());
    $model->attach(new XiaoLi());
    $model->attach(new ChuanPu());
    $model->attach(new BingBing());
    $model->new();

    $model = new Video();
    $model->new();
    LaoWang::update($model);
    XiaoLi::update($model);
    ChuanPu::update($model);
    BingBing::update($model);

    两个代码相比,

    前者观察者模式,并没有解决上面作者自己所提出来的那些问题:有需求变动,还是要改代码的,如果仔细看看,反而是观察者模式情况下,改动的代码还要更多

    具体来说(还是借用作者的例子):

    “当我们再增加一个人加入 习大大 的时候,我们只需要增加一个习大大的观察者类,在实现的时候添加注册,而不需要去改Video类和其他的观察者类,将类之间的耦合降低了很多”

    这里说了,增加习大大: 一要增加类,二要注册,其实还有个三,就是得触发。好处呢,是:不用改其他观察者类。

    那么,不用观察者模式,如何?其实一样嘛,一要增加类,二是要调用。没了。是不是更简单?
    上面说的好处:不用改其他类,普通的调用一样不用改其他类嘛,所以这个好处也不是优势,不存在的

    不知道作者如何解释。

    层主质疑得很好,好处应该有,但是真心没有说出来。
    我觉得好处应该是:避免污染主逻辑!
    未使用观察者模式,其实是面向过程式编程,某个逻辑改动会影响到整个逻辑的删减
    使用观察者模式,其实是面向对象了,具体的观察者和被观察者的交互已经写好了(foreach遍历),重点只是注意一下观察者的删减即可,不会影响到主逻辑

  • 赞了回复

    观察者模式,与不用观察者模式相比,除了多写了一堆的代码,其他并没体现出什么好处。

    具体以你讲的例子来说:

    但是,当系统变大的时候,这种方法马上面临难以扩展的问题,并且容易出错。
    比如老王不想订阅了,我们需要改源代码。
    比如又增加了一个客户,我们要去改源代码。
    比如xxx,我们都需要改源代码。
    这两个对象的耦合度太高了。

    $model = new Video();
    $model->attach(new LaoWang());
    $model->attach(new XiaoLi());
    $model->attach(new ChuanPu());
    $model->attach(new BingBing());
    $model->new();

    $model = new Video();
    $model->new();
    LaoWang::update($model);
    XiaoLi::update($model);
    ChuanPu::update($model);
    BingBing::update($model);

    两个代码相比,

    前者观察者模式,并没有解决上面作者自己所提出来的那些问题:有需求变动,还是要改代码的,如果仔细看看,反而是观察者模式情况下,改动的代码还要更多

    具体来说(还是借用作者的例子):

    “当我们再增加一个人加入 习大大 的时候,我们只需要增加一个习大大的观察者类,在实现的时候添加注册,而不需要去改Video类和其他的观察者类,将类之间的耦合降低了很多”

    这里说了,增加习大大: 一要增加类,二要注册,其实还有个三,就是得触发。好处呢,是:不用改其他观察者类。

    那么,不用观察者模式,如何?其实一样嘛,一要增加类,二是要调用。没了。是不是更简单?
    上面说的好处:不用改其他类,普通的调用一样不用改其他类嘛,所以这个好处也不是优势,不存在的

    不知道作者如何解释。

  • 回复了 的回复

    云主机 账号 和 密码 给我,我帮你看看

    老哥,你这回答也太陡了

  • 这小伙子,你题目打错字?问题也表述不清啊

  • 验证码显示不出来:
    http://localhost/www/sns/backend/web/index.php/site/captcha?v=591171d836863

    我放在phpstudy的www下的www文件夹下的sns里面,验证码是这个地址,但是显示不出来,也不知道怎么改。面向对象,各种方法之间跳,跳得太乱了。

  • 写一个function.php
    然后入口文件里引用就可以啦

    还有很多事情不是要写纯的,纯容易极端,相信各位都见过这种例子:
    如果完全用A方法,会出现一个极端
    如果完全用B方法,也会出现一个极端

    但是,如果AB方法同时使用,哈哈,问题就被完美解决,这就是平衡!!!

  • 发表了说说
    基础班和高级版用哪个啊?
助理 等级规则
145/200
资料完整度
10/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

1

Ta的访客

2