javascript中工厂模式

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/p/jsinterface.html