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 }
不知道我写的对不对,希望大家多多指点。