博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript中工厂模式
阅读量:5898 次
发布时间:2019-06-19

本文共 1463 字,大约阅读时间需要 4 分钟。

javascript中接口的概念

相信大家对工厂模式不陌生,一直都想学好javascript ,最近突然有个想法:能不能用javascript实现工厂模式,那么就会有引入接口的概念,但是小弟知识浅薄,所以不知道有没有这种模式,如果有,什么环境下用,对前端开发有什么价值?

通过对和的学习,加上个人的理解,

模板方法模式:父类定义函数,子类去实现。跟C#中的接口很相似;

策略模式:子类重写父类的函数,但是有些操作,所有的子类都是必须遵循,就不允许重写;

我觉得设计模式是跟语言无关的,所以我觉得在javascript中也可以应用这些设计模式,只是需要在不同的环境下,有不同的取舍。

以上都是个人理解。

现在我们来说说接口吧,C#中接口被继承,就必须实现,而且接口不能有实现,只是一些规范的定义。但是在javascript中能这样吗?先上一段自己写的代码吧:

 

1 var ICar = function(mycar) { 2     mycar = mycar | {}; 3     mycar.start = function() { }; 4     mycar.stop = function() { }; 5     mycar.speed = function() { }; 6     return mycar; 7 } 8  9 var carA = function() {10     var my = {};11     var mycar = ICar(my);12     mycar.start = function() {13         return "this is carA.start method!";14     };15     mycar.stop = function() {16         return "this is carA.stop method!";17     };18     mycar.speed = function() {19         return "this is carA.speed method!";20     };21 }22 23 24 var carB = function() {25     var my = {};26     var mycar = ICar(my);27     mycar.start = function() {28         return "this is carB.start method!";29     };30     mycar.stop = function() {31         return "this is carB.stop method!";32     };33     mycar.speed = function() {34         return "this is carB.speed method!";35     };36 }                                                                                                            

不知道我写的对不对,希望大家多多指点。

转载于:https://www.cnblogs.com/manyiString/archive/2012/06/08/jsinterface.html

你可能感兴趣的文章
js如何实现10秒倒计
查看>>
ubuntu下解决鼠标滚轮不能使用的问题
查看>>
隐马尔可夫(HMM)、前/后向算法、Viterbi算法 再次总结
查看>>
LAV Filters
查看>>
iOS11 automaticallyAdjustsScrollViewInsets和estimatedRowHeight适配
查看>>
订阅linux kernel的mail list
查看>>
mysql 批量更新多条记录(且不同值)的实现方法
查看>>
Hadoop上路_02-hadoop介绍和环境准备
查看>>
JFinal多参数搜索条件自动组装及参数传递
查看>>
c++ ios_base register_callback方法使用
查看>>
Java中为什么需要Object类,Object类为什么是所有类的父类
查看>>
css3 -webkit-flex 布局
查看>>
大数据Benchmark
查看>>
windows server2008多用户远程登陆设置方法
查看>>
sencha touch巧妙使用请求超时提升用户体验
查看>>
15. 3Sum
查看>>
ArrayList源码解析
查看>>
基于SpringMVC、Maven以及Mybatis的环境搭建
查看>>
angularjs-paste-upload
查看>>
RXjs相关
查看>>