作家
登录

浅谈JavaScript中的接口实现

作者: 来源: 2017-08-23 09:13:02 阅读 我要评论

此外,构造器中的┞封个检查施加了一些不须要的限制。它不许可应用其他的类的实例作为参数,不然会直接抛错,然则问题来了,如不雅有另一个类也包含并实现了getData和getResult办法,它本来可以被ResultFormatter应用,却因为这个限制而无用武之地。

解决问题的办法就是删除构造器中的校验,并应用接口代替。我们采取这个筹划对代码进行优化:

【51CTO晃荡】8.26 带你与清华大年夜学、搜狗、京东大年夜咖们一路商量基于算法的IT运维实践

  1. //接口的声明  
  2. var resultSet =new Interface('ResultSet',['getData','getResult']);   
  3.  
  4. //修改后的筹划  
  5. var ResultFormatter =function(resultObject){  
  6.      Interface.ensureImplements(resultObject,resultSet);  
  7.      this.resultObject=resultObject;  
  8.  

上述代铝闼楝renderResult办法保持不变,而构造器却采取的ensureImplements办法,而不是typeof运算符。如今的┞封个构造器可以接收任何相符接口的类的实例了。

五、依附于接口的设计模式

<1>工厂模式:对象工厂所创建的具体对象会因具体情况而不合。应用接口可以确保所创建的┞封些对象可以交换应用,也就是说对象工厂可以包管其临盆出来的对象都实现了必须的办法;

<2>组合模式:如不雅不应用接口就弗成能应用这个模式,个中间思惟是可以将对象群体与其构成对象一致对待。这是经由过程接口来做到的。如不雅一向行鸭式辩型或类型检查,那么组合模式就会掉去大年夜部分意义;

<3>装潢者模式:装潢者经由过程透明地为另一个对象供给包装而发患咀用。这是经由过程实现与别的那个对象完全一致的接话柄现的。对于外界而言,一个装潢者和它所包装的对象看不出有什么差别,所以应用Interface来确保所创建的装潢者实现了必须的办法;

一、什么是接口

<4>敕令模式:代码中所有的敕令对象都有实现同一批办法(如run、ecxute、do等)经由过程应用接口,未履行这些敕令对象而创建的类可以不必知道这些对象具体是什么,只要知道他们都精确地实现了接口即可。借此可以创建出模块化程度很高的、耦合度很低的API。

【编辑推荐】

  1. JavaScript进阶之深刻懂得数据双向绑定
  2. 测试JavaScript函数的机能
  3. 前端面试中的常见的算法问题
  4. 纯前端解决跨域问题
  5. 暑期干货!2017年8月前端开辟者超实用干货大年夜合集
【义务编辑:庞桂玉 TEL:(010)68476606】

  推荐阅读

  谷歌Chromebook或将重生,反击微软Surface

【51CTO晃荡】8.26 带你与清华大年夜学、搜狗、京东大年夜咖们一路商量基于算法的IT运维实践 据Engadget报道,科技媒体Android Police援引消息人士的话称,在本年秋季举办的新品宣布会上>>>详细阅读


本文标题:浅谈JavaScript中的接口实现

地址:http://www.17bianji.com/lsqh/36862.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)