美文网首页
(十六)命令模式

(十六)命令模式

作者: guideEmotion | 来源:发表于2019-09-28 08:37 被阅读0次

    具体参考:https://www.jianshu.com/p/1f1049d0a0f4

    一 总结

    1.1 Visitor接口中的方法个数

    Visitor接口中的方法个数等于固定结构(多个对象组成)中的元素个数,每个元素对应一个重载的方法。这也是为什么结构中元素的数量最好不要变。因为一变接口也要变,就会多了许多调整

    1.2 什么时候适用该模式。

    访问者模式是一种将数据操作数据结构分离的设计模式
    就是将数据操作放在其他类中,传入元素中。然后元素在accept方法中回调.
    个人理解成这样的场景适用:

    1. 元素结构(个数)固定
    2. 不同元素的行为不同(行为一样,就会把行为放在父类中了)
    3. 不同的调用者(visitor)对同一个元素的操作也不一样(有点桥接模式抽象和实现分离,多维扩展的意思)

    1.3 元素的accept中为什么能调用Vistor的visit

    因为每个Visitor中都有每个元素的visit重载方法。所以可以直接传入this,this的类型就是当前元素的类型。当然可以编译通过

    相关文章

      网友评论

          本文标题:(十六)命令模式

          本文链接:https://www.haomeiwen.com/subject/xszauctx.html