JavaScript设计模式之一Interface接口
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript设计模式之一Interface接口,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2209字,纯文字阅读大概需要4分钟。
内容图文
![JavaScript设计模式之一Interface接口](/upload/InfoBanner/zyjiaocheng/841/9922f720d0cb48fc972e091167aed0f3.jpg)
什么是接口?
接口提供了一种用以说明一个对象应该具有哪些方法和手段。
在面向对象的javascript中,接口有些什么作用呢?既定的一批接口具有自我描述性,并能促进代码重用。接口可以告诉程序员一个类实现了哪些方法,从而帮助其使用这个类。
在C#还是JAVA中都应该面向接口设计我们的程序,在C#和Java中都Interface这样的关键字,但是JavaScript中没有相应的机制,但是Javascript很灵活,我们可以用它的特性去模仿Interface。
使用 Interface.js
var Interface = function(name, methods) { if(arguments.length != 2) { throw new Error("请确认要检查的接口所传的参数是否正确,例如:var Person = new Interface('Person', ['GetName','GetAge']);"); } if(methods.length == 0){ throw new Error("要检查的接口的方法名不能为空"); } this.Name = name; this.Method = []; for(var i = 0; i < methods.length; i++) { if(typeof methods[i] !== 'string') { throw new Error("方法名不是字符串"); } this.Method.push(methods[i]); } } /*static method in interface*/ Interface.ensureImplement = function(object) { if(arguments.length < 2) { throw new Error("没有接口或实例"); } for(var i = 1; i < arguments.length; i++) { var interface1 = arguments[i]; if(interface1.constructor !== Interface) { throw new Error("参数不是接口"); } for(var j = 0; j < interface1.Method.length; j++) { var method = interface1.Method[j]; if(!object[method] || typeof object[method] !== 'function') { throw new Error("您的实例没有实现接口:\t" + method); } } } }
案例:
// 封装接口的类,假如该类中实现的 add del 2个方法 function Peson(){} Peson.prototype.add = function(){ console.log('新增接口'); } Peson.prototype.del = function(){ console.log('删除接口'); } //在你使用该类的方法的时候先去检查你要用到的方法是否存在 var peson = new Peson(); //Interfaces var check = new Interface('check',['add', 'del']); //检查你要用到的方法是否存在,如果你要用的方法没有实现,会抛出错误提示 Interface.ensureImplement(peson, check); //使用接口 peson.add(); peson.del();
使用es6 的class 也是可以的
class Peson{ add(){ console.log('新增接口'); } del(){ console.log('删除接口'); } } //在你使用该类的方法的时候先去检查你要用到的方法是否存在 var peson = new Peson(); //Interfaces var check = new Interface('check',['add', 'del']); //检查你要用到的方法是否存在,如果你要用的方法没有实现,会抛出错误提示 Interface.ensureImplement(peson, check); //使用接口 peson.add(); peson.del();
内容总结
以上是互联网集市为您收集整理的JavaScript设计模式之一Interface接口全部内容,希望文章能够帮你解决JavaScript设计模式之一Interface接口所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。