zoukankan      html  css  js  c++  java
  • 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 }                                                                                                            

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

  • 相关阅读:
    树链剖分
    NOI2015 软件包管理器(树链剖分+线段树)
    9.11NOIP模拟题
    9.10NOIP模拟题
    bzoj1121[POI2008]激光发射器SZK(结论)
    9.9 NOIP模拟题
    树形dp
    P1272 重建道路(树形dp)
    Codeforces Round #419 (Div. 2)
    9.2NOIP模拟题
  • 原文地址:https://www.cnblogs.com/manyiString/p/jsinterface.html
Copyright © 2011-2022 走看看