zoukankan      html  css  js  c++  java
  • 设计模式访问者

    访问者模式:上门服务的"贱"模式。有两个角色

    访问者 和 爷

     

    来看爷,访问者总得做点什么?Visitor.visit(爷)

    爷也要,摆个姿态接受下 爷.Accept(Visitor){Visitor.visit('爷')}

     

    具体做什么?访问者说了算,可以理发、修脚、按摩、盘道,随便了。

     

    也只要写个Accecpt,访问者,提供服务方法

    爷.Accept(访问者)

    {

    访问者.Visit(爷);

    }

     

     

    正经点:

    访问者模式的目的在于,不改变类的前提下,为类增加一个新的操作

    当然,也有这样说的,在不改变一个层次结构中的类的情况下,为一个层次结构定义一个新的操作。

     

    实现的机制是,为访问者定义一个接口(抽象类也行),并将Accept()方法计算入到" 爷"的层次结构中。

    利用两次分发机制()访问者先调用"爷"的Accept(Visitor)方法(注意:Visitor访问者是参数),然后,接收

    了Accept(Vistor)方法调用的对象将调用结果用一个Visit(this)方法反馈给访问者。(您给的礼,我笑纳了。)

    Visit()方法定义在Visitor中。举个例子,理发的方法(Visit),当然理发师掌握着(Visitor)

     

    我家大门常打开,欢迎你来这里…….

     

     

     
     
    作者:易简.道    
     
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Jenkins Install
    提高C#代码质量的22条准则
    游戏程序员英文指南
    苹果设备内存指南
    Unity符号表
    UI优化策略-UI性能优化技巧
    C# 语言历史版本特性
    CPU SIMD介绍
    Unity渲染性能指标
    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念
  • 原文地址:https://www.cnblogs.com/xyicheng/p/2223450.html
Copyright © 2011-2022 走看看