问答详情
源自:11-1 [php]装饰器模式

装饰器模式

beforeDraw方法中为何要对实例化的类遍历,afterDraw方法中为何要反转

提问者:初。晨、 2016-08-21 22:59

个回答

  • geloves
    2016-08-25 15:12:36
    已采纳

    遍历是因为可能会有多个装饰器啊,反转是因为before和after都存在的情况下需要一一对应

  • Steveberg
    2017-01-24 23:45:46

    原因很简单,这个案例是为了结合项目实际,就是要实现一个html嵌入 。老师说的装饰器模式(其实是观察者模式)没有说一定要先进后出或者后进先出。

    正常的html是

    <div style='color'>
    <div style='style'>
    </div> 
    </div>

    第一行和第四行匹配,第二行和第三行匹配。当然这里这种情况是无所谓烦反转不反转都一样,如果两个标签页不一样就一定要反转否则就会出现标签混乱了。