设计模式---访问者模式

定义:访问者模式是一种将数据结构和数据操作分离的操作,封装一些作用在某中数据结构的各个元素的操作,可以在不改变这个数据结构的情况下定义作用这个数据的新操作。
使用场景:对象元素比较稳定,但经常在对象结构上定义新的操作。
优点:符合单一职责,能很好的进行扩展,能在操作和数据上进行解耦。
缺点:①违反依赖倒置原则。②具体元素对访问者公布细节,违反迪米特原则。③改动代价比价大
角色:
visitor: 抽象的访问者类。里面有visit(concreteElement)方法
concreteVisitor:
Element:抽象的被访问的元素类。里面有accept(Visitor)方法
concreteElement:
objectStructor: 具体的操作类,封装了元素的集合,然后遍历的进行访问。

1.被访问类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.访问类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.对象结构类
在这里插入图片描述
4.使用
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yuezheyue123/article/details/82895276
今日推荐