`
bjsunrose
  • 浏览: 57238 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

23-19,访问者模式

 
阅读更多
1、访问者模式(Visitor Pattern)是一个相对简单的模式,其定义如下:Represent an operation to bu performed on the elements of an object structure,Visitor lets you difine a new operation without changing the classes of the elements on which it operate.(封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作)

2、访问者模式的角色:
  一、Visitor-访问者角色
  抽象类或者接口,声明访问者可以访问那些元素,具体到程序中就是visit方法的参数定义那些对象是可以访问的。
  二、ConcreteVisitor-具体访问者
  它影响抽象者访问访问到一个类后该怎么干,要做什么事情。
  三、Element-抽象元素
  接口或者抽象类,声明接受哪一类访问者访问,程序上通过accept方法中的参数来定义
  四、ConcreteElement-具体元素
  实现accept方法,通常是visitor.visit(this),基本上都形成一种模式了。
  五、ObjectStruture-结构对象
  元素产生者,一般容纳在多个不同类,不同接口的容器。如:List Set, Map等,在项目中,一般很少抽象出这个角色。



分享到:
评论

相关推荐

    Android-23种设计模式

    15. **访问者模式(Visitor)**:在不改变类结构的情况下,增加新的操作。在Android中,访问者模式不常见,但在某些解析或遍历场景下可以使用。 16. **享元模式(Flyweight)**:用于减少创建对象的数量,以达到节省...

    软件工程实施标准--23种设计模式.zip

    19. 访问者模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 20. 享元模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外...

    设计模式精解-GoF 23种设计模式

    4. **建造者模式**:将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。它适用于当创建对象的过程很复杂,需要进行多个步骤时。 5. **原型模式**:通过复制已有对象来创建新对象,而不是...

    10-23种设计模式总结(最新版).zip

    18. **访问者模式**:表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 19. **备忘录模式**:在不破坏封装性的前提下,捕获一个对象的内部状态,并在...

    java代码-23种设计模式(包含uml)

    18. 访问者模式:在不改变类的前提下,增加新的操作行为。 19. 状态模式:允许对象在其内部状态改变时改变它的行为,看起来像改变了它的类。 20. 观察者模式:定义对象间的一种一对多依赖关系,当一个对象的状态发生...

    19个设计模式最易上手DEMO大全

    - **建造者模式**:将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 - **原型模式**:通过复制已有对象来创建新对象。 2. **结构型模式**: - **适配器模式**:使两个不兼容的接口...

    高清,经典书籍-->设计模式

    4. **建造者模式(Builder)**:将复杂对象的构建与其表示分离,使得相同的构建过程可以创建不同的表示。适用于构造过程复杂,需要多种步骤的对象。 5. **原型模式(Prototype)**:通过复制已有对象来创建新对象,...

    Java设计模式-图解-附代码

    1.1 创建型模式 4 1.1.1 工厂方法 4 1.1.2 抽象工厂 6 1.1.3 建造者模式 10 1.1.4 单态模式 13 1.1.5 原型模式 15 1.2 结构型模式 17 1.2.1 适配器模式 17 1.2.2 桥接模式 19 ...1.3.11 访问者模式 65

    【Java设计模式】《设计模式之禅》中的23种设计模式.zip

    【Java设计模式】《设计模式之禅》中的23种设计模式.zip 【Java设计模式】《设计模式之禅》中的23种设计模式.zip 【Java设计模式】《设计模式...19. 访问者模式 20. 状态模式 21. 解释器模式 22. 享元模式 23. 桥梁模式

    设计模式精解-GoF 23 种设计模式解析附 C++实现

    18. **访问者模式**:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 19. **状态模式**:允许一个对象在其内部状态改变时改变其行为,对象看起来...

    android-sdk-sources-android-19.rar

    Android 19是Android 4.4系统,于2013年发布,引入了许多新特性,如全屏模式、低功耗蓝牙等。 源代码是理解操作系统和应用程序工作原理的关键。对于Android开发者而言,查阅源码能够帮助他们更深入地了解系统API的...

    JAVA的23种设计模式实例

    JAVA的23种设计模式实例,如三大类创建型模式、结构型模式、行为型模式,细分为23种具体模式1. 设计模式 3 1.1 创建型模式 4 1.1.1 工厂方法 4 1.1.2 抽象工厂 6 1.1.3 建造者模式 10 ...1.3.11 访问者模式 65

    设计模式(中文版)--详细讲解各种模式的宝典,可以快速上手

    22. **访问者模式(Visitor)**:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 以上这些设计模式各有其适用场景,理解和掌握它们对于提升软件...

    java23中设计模式详解

    23. **访问者模式**:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 以上就是Java中的23种设计模式的概述。在实际开发中,理解并灵活运用这些模式...

    Head-First-Design-Patterns-master设计模式官方源码

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

    Java中23种设计模式详解

    23. 访问者模式(Visitor) 访问者模式表示一个作用于某对象结构中的各元素的操作。该模式可以实现在不改变各元素的类的前提下定义作用于这些元素的新操作。 了解 Java 中的 23 种设计模式可以帮助开发者更好地...

    总结23种设计模式-极客学院-课件及源码

    22. **访问者模式**:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。适用于访问和操作对象结构中的元素。 23. **享元模式**:在不破坏封装性的前提...

    设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板.pptx

    15. 观察者模式:观察者模式是一种行为型模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 16. 迭代器模式:迭代器模式是一种行为型模式,它提供...

    C#23种设计模式【完整】.pdf

    20. 访问者模式(Visitor Pattern):表示一个作用于某对象结构中的各元素的操作,使得可以在不改变该对象结构的前提下定义新的操作。 21. 状态模式(State Pattern):允许一个对象在其内部状态改变时改变其行为,...

    Java开发 -- 设计模式

    例如,在对一个对象结构中的不同类型的对象进行操作时,可以使用访问者模式来定义针对不同类型对象的不同操作。 通过以上对23种设计模式的介绍,可以看出每种设计模式都有其特定的应用场景和优势。在实际开发中,...

Global site tag (gtag.js) - Google Analytics