vuePress-theme-reco MS    2019 - 2020

Choose mode

  • dark
  • auto
  • light
主页
分类
  • 程序设计
标签
时间线
关于我
author-avatar

MS

26

文章

3

标签

主页
分类
  • 程序设计
标签
时间线
关于我
  • 访问者模式

    • Why
      • What
        • UML
        • 角色说明
        • 适用场景

    访问者模式

    vuePress-theme-reco MS    2019 - 2020

    访问者模式


    MS 2020-04-18 14:34:49 面向对象 设计模式

    # Why

    访问者模式(Visitor Pattern):提供一个作用于某对象结构中的各元素的操作表示,使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

    # What

    # UML

    访问者模式

    # 角色说明

    Visitor(抽象访问者):为对象结构中每一个具体元素类声明一个访问方法

    ConcreteVisitor(具体访问者):实现了由抽象访问者声明的操作,每一个操作用于访问对象结构中一种类型的元素

    Element(抽象元素):定义了Accept方法,接受一个抽象访问者

    # 适用场景

    • 一个对象包含多个类型的对象,希望对这些对象实施一些依赖其具体类型的操作
    • 对象结构中对象对应的类很少改变,但经常需要在此对象结构上定义新的操作