当前位置: 首页 > news >正文

建网站赚钱合肥百度竞价推广代理公司

建网站赚钱,合肥百度竞价推广代理公司,wordpress 安装包,工程建设业绩公示网站一、什么是访问者模式 说起来访问者模式,其实很少用。我一直在思考该用什么样的例子把这个设计模式表述清晰,最近突然想到一个例子也许他就是访问者。港片有过很辉煌的年代,小的时候一直在看港片觉得拍的非常好,而且演员的演技也在…

一、什么是访问者模式

        说起来访问者模式,其实很少用。我一直在思考该用什么样的例子把这个设计模式表述清晰,最近突然想到一个例子也许他就是访问者。港片有过很辉煌的年代,小的时候一直在看港片觉得拍的非常好,而且演员的演技也在线。 不知道大家看没有看过一个金典的穿越剧----《寻秦记》,其中的项少龙(古天乐)就是专业的访问者。项少龙的经历可以很好地体现访问者模式的核心思想。项少龙作为一个现代人,穿越到战国时期,他的角色可以被视为“访问者”,而战国时期的各种人物和事件可以被视为“元素”。项少龙与这些元素的交互“不改变历史结构,添加新的操作”,触发了一系列的变化和故事发展。

访问者模式在《寻秦记》中的体现

  1. 主角作为访问者:项少龙从21世纪穿越到战国时期,他的任务是寻找并保护嬴政,确保历史的正常发展。在这个过程中,他作为“访问者”,与战国时期的各种人物和事件进行交互。

  2. 元素的多样性:战国时期的人物和事件可以被视为“元素”,例如嬴政、乌廷芳、琴清、嫪毐等。每个元素都有其独特的属性和行为,项少龙需要与这些元素进行交互,以完成他的任务。

  3. 交互触发变化:项少龙与这些元素的交互,触发了一系列的变化。例如,他帮助嬴政成长,与乌廷芳和琴清建立了深厚的情感联系。这些交互不仅影响了项少龙自身,也影响了战国时期的历史进程。

  4. 历史轨迹的复杂性:尽管项少龙试图改变历史,但他最终发现历史的轨迹非常复杂,无法轻易改变。这体现了访问者模式中,访问者对元素的操作可能会受到元素自身复杂性的限制。

        访问者模式通过将操作(项少龙和战国时期任务和事件的交互)从对象结构(战国的历史轨迹)中分离出来,封装在访问者(项少龙)类中,使得可以在不修改对象结构的情况下为对象添加新的操作。这种模式特别适用于需要对对象结构中的元素执行多种操作的场景。

二、为什么用访问者模式

        我们来通过上述例子来看看为什么要使用访问者呢,或者什么样的场景使用到了访问者:

  1. 扩展性强:访问者模式能够在不修改对象结构中的元素的情况下,为对象结构中的元素添加新的功能。在《寻秦记》中,项少龙可以尝试不同的策略和方法来影响历史,而不需要改变历史本身的结构。

  2. 集中管理复杂逻辑:访问者模式将对各个元素的一组操作集中在一个访问者类当中。项少龙的行动和决策都围绕着他的目标展开,使得他的行为更加有条理和系统化。

  3. 解耦数据结构和操作:在《寻秦记》中,项少龙作为访问者,与战国时期的各种人物和事件(元素)进行交互,而不需要改变这些元素本身的结构。这使得项少龙可以灵活地尝试不同的策略,而不会对历史结构本身造成不可逆的影响。

  4. 支持多种操作:访问者模式允许在不修改对象结构的情况下,为对象结构中的元素添加新的操作。项少龙可以尝试多种方法来影响历史,例如通过政治手段、军事手段或情感手段,而不需要改变历史本身的结构。

  5. 对象结构比较稳定,但经常需要在此对象结构上定义新的操作

  6. 需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免这些操作“污染”这些对象的类,也不希望在增加新操作时修改这些类

三、访问者模式示例

        下面我们拿项少龙的经历用代码带输出示例

1. 定义元素接口(各种任务或者事件的统一行为,必须接受访问者)(Element)

public interface Element {void accept(Visitor visitor);
}

2.实现具体元素类(具体的事件或者人物,比如嬴政)(ConcreteElement)

public class YingZheng implements Element {@Overridepublic void accept(Visitor visitor) {visitor.visit(this);}public void growWithXiangShaolong() {System.out.println("嬴政在项少龙的帮助下成长为一代帝王。");}
}public class WuTingFang implements Element {@Overridepublic void accept(Visitor visitor) {visitor.visit(this);}public void developRelationshipWithXiangShaolong() {System.out.println("乌廷芳与项少龙建立了深厚的情感联系。");}
}public class LaoAi implements Element {@Overridepublic void accept(Visitor visitor) {visitor.visit(this);}public void confrontXiangShaolong() {System.out.println("嫪毐与项少龙发生冲突。");}
}

3、定义访问者接口(访问者的统一行为)(Visitor)

public interface Visitor {void visit(YingZheng yingZheng);void visit(WuTingFang wuTingFang);void visit(LaoAi laoAi);
}

4. 实现具体访问者类(主角项少龙)(ConcreteVisitor) 

public class XiangShaolongVisitor implements Visitor {@Overridepublic void visit(YingZheng yingZheng) {yingZheng.growWithXiangShaolong();}@Overridepublic void visit(WuTingFang wuTingFang) {wuTingFang.developRelationshipWithXiangShaolong();}@Overridepublic void visit(LaoAi laoAi) {laoAi.confrontXiangShaolong();}
}

5、场景复现(穿越大戏开始)

public class Main {public static void main(String[] args) {// 创建具体元素对象Element yingZheng = new YingZheng();Element wuTingFang = new WuTingFang();Element laoAi = new LaoAi();// 创建具体访问者对象Visitor xiangShaolong = new XiangShaolongVisitor();// 执行操作yingZheng.accept(xiangShaolong);wuTingFang.accept(xiangShaolong);laoAi.accept(xiangShaolong);}
}//输出
嬴政在项少龙的帮助下成长为一代帝王。
乌廷芳与项少龙建立了深厚的情感联系。
嫪毐与项少龙发生冲突。

        通过这个代码示例,我们可以清晰地看到访问者模式的核心优势。访问者模式通过将操作从对象结构中分离出来,封装在访问者类中,使得可以在不修改对象结构的情况下为对象添加新的操作。这种模式特别适用于需要对对象结构中的元素执行多种操作的场景,例如项少龙在战国时期与不同角色的交互。

http://www.yidumall.com/news/70370.html

相关文章:

  • 北京建设信源网站 怎么打不开外贸seo推广公司
  • 无锡做公司网站多少钱定制网站制作公司
  • 网站类型是什么意思舆情信息在哪里找
  • 建筑资料网站大全网站的推广方法有哪些
  • 马鞍山做网站公司排名合肥网站seo推广
  • 网站建设开发能力很强的企业解释seo网站推广
  • 上海市城乡建设委员会网站每日新闻简报
  • 制作大型网站开发怎么在百度上做广告
  • 什么网站可以做任务领赏金seo链接优化
  • 国外域名注册商排名seo指的是搜索引擎营销
  • 石家庄市和城乡建设局网站百度山西授权代理
  • 网站建设需要哪些证件谷歌google官网入口
  • html5 手机网站开发教程汉中网络推广
  • 怎么免费做网站百度推广软件
  • 幼儿网站源代码济南搜索引擎优化网站
  • 鄂尔多斯教育网站入口业务推广方式有哪些
  • 做素材网站如何赚钱站长工具网站
  • 郑州网站建设招聘网络舆情监测与研判
  • 大型网站建设 cms cdm dmp护肤品营销策划方案
  • 做网站建设有哪些公司长沙网站定制公司
  • 泉州seo建站百度竞价排名广告
  • 网站建设与管理教学视频教程seo 优化教程
  • 电销精准客户资源排名sem优化软件
  • 加强关工委网站建设爱站网关键词密度查询
  • 外贸网站外链怎么做如何写推广软文
  • app科技产品网站建设有哪些推广平台和渠道
  • 网站制作知名公司网络平台推广运营有哪些平台
  • html怎么做音乐网站网页设计网站建设
  • 网站头页怎么在百度做免费推广
  • 西安异构国际设计百度搜索关键词排名人工优化