访问者模式(Visitor Pattern)

定义:使用一个访问者类,改变元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。
目的:将数据结构与数据操作分离。
场景:您在朋友家做客,您是访问者,朋友接受您的访问,您通过朋友的描述,然后对朋友的描述做出一个判断,这就是访问者模式。
// 元素类
class Elements {
    constructor () {
        this.action = () => {
            console.log('hi~')
        }
        this.accept = (visitor) => {
            visitor.visit(this)
        }
    }
}

// 访问者
class Visitor {
    constructor () {
        this.visit = (elements) => {
            elements.action()
        }
    }
}


const ele = new Elements()
const visi = new Visitor()
ele.accept(visi)

Git地址:https://github.com/skillnull/Design-Mode-Example

相关文章:

  • 2022-12-23
  • 2021-06-03
  • 2021-10-03
  • 2023-03-19
  • 2020-06-18
  • 2018-12-27
猜你喜欢
  • 2022-12-23
  • 2021-09-17
  • 2022-12-23
  • 2021-10-09
  • 2021-07-14
  • 2022-12-23
相关资源
相似解决方案