前言:笔者在最开始写程序的时候经常会遇到一种情况,例如更改一个字段、或者添加一种小功能,就要把原来写过的东西几乎废弃掉,或者更改大量以前写过的代码。又或者自己写的东西时间久了再去回顾,完全找不到到时为什么这么写的头绪,如果遇到了Bug更是无法快速定位在哪里小范围出现的问题。如果你也经常遇到这种问题,就说明你现阶段非常需要学习下设计模式了。
在网上经常说的设计模式有23种,也有一些更多的设计模式,无非也是从这些设计模式中变种而来。如果让笔者来形容什么是设计模式,我认为设计模式是:一种思想,一种模式,一种套路,一种解决问题的高效策略。
有说的不正确或者不准确的地方欢迎留言指正
有什么有趣的写作技巧或者想法欢迎大家给我留言,大家的帮助是我写下去最有效的动力
访问者模式(Visitor) 表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
今天笔者跟大家介绍一个相对复杂的设计模式---访问者模式,根据对访问者模式的定义我们知道两点信息,第一:对某个结构中的各元素操作,第二:在不改变个元素的类前提下操作。下面笔者用代码示例来说明如何对各元素操作,然后有如何在不改变类的前提下操作
先从最简单的说起,我们创建一个元素(Element)基类,然后根据这个基类创建一个持有基类的对象结构
Element以及对应的实现类
public abstract class Element
{
}
public class ConcreteElementA : Element
{
public void FuntionA()
{
Debug.Log("FuntionA");
}
}
public class Concr