设计模式在自动化浅谈

发表于:2011-10-11 10:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:jingxi    来源:TaoBao QA Team

  三、访问者模式【Visitor Pattern】

  Visitor 定义

  作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.在Java 中,Visitor 模式实际上是分离了collection 结构中的元素和对这些元素进行操作的行为.

  用到的场所:

  比如我们上级领导要查看员工的信息,但是各个级别不同,向我们淘宝有P4—P9和M1—M4.但是马总可能这次看P8,下次看P9的信息,但是他们都有自己大致的属性,姓名,年龄、性别、工资。但是也有不同的事情。业绩,工作的方向。这是我们就需要定义不同Node。然后访问者(Visitor)把这些信息都加进去。马总就可以通过调用visitNode(里面任何的Node)就可以查看信息了。这样就减少if的判断和switch的应用了。

  为何使用Visitor?

  Java 的Collection(包括Vector 和Hashtable)是我们最经常使用的技术,可是Collection好象是个黑色大染缸,本来有各种鲜明类型特征的对象一旦放入后,再取出时,这些类型就消失了。那么我们势必要用If 来判断,如:

  可见使用Visitor 模式是有前提的,在两个接口Visitor 和Visitable 中,确保Visitor 很少变化,变化的是Visitable,这样使用Visitor 最方便.如果Visitor 也经常变化, 也就是说,对象群中的对象类型经常改变,一般建议是,不如在这些对象类中逐个定义操作.但是Java 的Reflect 技术解决了这个问题。

  自动化

  就好比我们部门提供自动化工具很多,我们可以建立一个统一的访问方法,我们就可以随着开发和研究人员增添不同的访问者。

  四、策略着模式【Strategy Pattern】

  Strategy 是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.

  Stratrgy 应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy 实现。

  自动化的应用:

  1、自动化的结果需要很多方面,一些数据总是需要以不同的格式来保存文件或者数据;

  2、自动化回归中总是希望可以对错误进行截图,但是会用到不同的算法截获图象;

  3、在自动化数据分析中,经常需要以不同的格式输出同样数据的图形,比如曲线、框图bar或者柱形图等形状。

42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号