访问者模式由于它难理解、难实现。应用它会导致代码的可读性、可维护性变差,所以在开发中很少被用到。定义允许一个或者多个操作应用到一组对象上,解耦操作和对象本身。类图实现需求:对PDF、Word格式进行处理,把里面的数据抽取到Txt文本文件中。1.定义访问者接口/***访问者接口*包含两个重载函数,分别处理两种不同类型的资源文件。具体选择哪个文件处理,需要在编译时进行绑定,*在各个Resource实现内部,会把this传递给当前方法,这样就可以知道绑定的对象是哪个,选用合适的重载方法进行处理。*具体做什么业务处理,由实现这个visitor接口的具体实现类来决定。**/publicinterface
访问者模式定义:封装作用于某数据结构(如List/Set/Map等)中的各元素的操作可以在不改变各元素的类的前提下,定义作用于这些元素的操作类型:行为型适用场景:一个数据结构如(List.Set/Map等)包含很多类型对象数据结构与数据操作分离优点:增加新的操作很容易,即增加一个新的访问者缺点:增加新的数据结构困难具体元素变更比较麻烦相关设计模式:访问者模式和迭代器模式Coding:创建Course类创建FreeCourse类继承Course创建CodingCourse类继承Course创建IVisitor接口创建Visitor类实现IVisitor接口访问者模式的核心:就是通过不同的visi