JS设计模式之访问者模式定义与用法分析
本文实例讲述了JS设计模式之访问者模式定义与用法。分享给大家供大家参考,具体如下
在访问者模式中,主要包括狼蚁网站SEO优化几个角色
1、抽象访问者抽象类或者接口,声明访问者可以访问哪些元素,具体到程序中就是visit方法中的参数定义哪些对象是可以被访问的。
2、访问者实现抽象访问者所声明的方法,它影响到访问者访问到一个类后该干什么,要做什么事情。
3、抽象元素类接口或者抽象类,声明接受哪一类访问者访问,程序上是通过aept方法中的参数来定义的。抽象元素一般有两类方法,一部分是本身的业务逻辑,就是允许接收哪类访问者来访问。
4、元素类实现抽象元素类所声明的aept方法,通常都是visitor.visit(this)
,基本上已经形成一种定式了。
5、结构对象一个元素的容器,一般包含一个容纳多个不同类、不同接口的容器,如List、Set、Map等,在项目中一般很少抽象出这个角色。
实现代码
// 访问者 function Visitor() { this.visit = function( concreteElement ) { concreteElement.doSomething(); } } // 元素类 function ConceteElement() { this.doSomething = function() { console.log("这是一个具体元素"); } this.aept = function( visitor ) { visitor.visit(this); } } // Client var ele = new ConceteElement(); var v = new Visitor(); ele.aept( v );
访问者模式的优点
1、符合单一职责原则凡是适用访问者模式的场景中,元素类中需要封装在访问者中的操作必定是与元素类本身关系不大且是易变的操作,使用访问者模式一方面符合单一职责原则,另一方面,因为被封装的操作通常来说都是易变的,所以当发生变化时,就可以在不改变元素类本身的前提下,实现对变化部分的扩展。
2、扩展性良好元素类可以通过接受不同的访问者来实现对不同操作的扩展。
访问者模式的适用场景
1、假如一个对象中存在着一些与本对象不相干(或者关系较弱)的操作,为了避免这些操作污染这个对象,则可以使用访问者模式来把这些操作封装到访问者中去。
2、假如一组对象中,存在着相似的操作,为了避免出现大量重复的代码,也可以将这些重复的操作封装到访问者中去。
更多关于JavaScript相关内容可查看本站专题《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程