码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之访问者模式

时间:2014-05-25 21:24:57      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:style   blog   c   ext   http   a   

    一、访问者模式定义:

       表示一个作用于某对象结构中各元素的操作。它可以使你不修改各元素类的前提下定义作用于这些元素的新操作,也就是动态的增加新的方法。

    二、Visitor模式结构图:

bubuko.com,布布扣

    三、Visitor模式中主要角色:
  1)访问者角色(Visitor):为该对象结构(ObjectStructure)中的具体元素提供一个访问操作接口。该操作接口的名字和参数标识了要访问的具体元素角色。这样访问者就可以通过该元素角色的特定接口直接访问它。
  2)具体访问者角色(ConcreteVisitor):实现Vistor接口的操作。
  3)元素角色(Element):该接口定义一个accept操作接受具体的访问者。
  4)具体元素角色(ConcreteElement):实现Element的accept操作。
  5)对象结构角色(ObjectStructure):这是使用访问者模式必备的角色。它要具备以下特征:能枚举它的元素;可以提供一个高层的接口以允许该访问者访问它的元素;可以是一个复合(组合模式)或是一个集合,如一个列表或一个无序集合。

    四、Visitor模式优缺点:
  1)优点:不用修改具体的元素类,就可以增加新的操作。主要是通过元素类的accept方法来接受一个visitor对象来实现的。
  2) 缺点:不易频繁增加元素类,没增加一个元素类,就要在Visitor接口中写一个针对该元素的方法,而且还要修改Visitor的子类。

设计模式之访问者模式,布布扣,bubuko.com

设计模式之访问者模式

标签:style   blog   c   ext   http   a   

原文地址:http://blog.csdn.net/lu930124/article/details/26957827

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!