zoukankan      html  css  js  c++  java
  • [设计模式]工厂模式

    工厂模式也是Javascript比较常用的模式。
    他主要是提供一个创建一系列相关或相互依赖对象的接口,而不一定要指定它们具体的类。
    工厂模式的精髓在于可以选择类或函数等,通常是用来动态创建对象。
    是不是看起来有点难懂?还是看代码吧。

    //这是一个工厂模式例子(隐式选择)
    function createXML(){
    if(typeof XMLHttpRequest != "undefined"){
    return new XMLHttpRequest();
    }else if(typeof window.ActiveXObject != "undefined"){
    return new ActiveXObject("MSXML2.XMLHttp");
    }
    }

    var xmlHttp = createXML();

    或许你之前也会这样创建过XHR对象,或许你之前不懂什么工厂模式。
    原来就这样不知不觉地运用了工厂模式。

    或者也可以作为类的方法:

    var MainClass = function(){}; //主构造器
    MainClass.prototype = {
    FactoryMode:function(){}; //子类选择器
    }

    或者可以选择类:

    var selectClass = function(key){
    if(key == 1){
    return Class1;
    }else if(key == 15){
    return Class2;
    }else{
    return Class3;
    }
    }

    或者选择配置:

    function User(type){
    if(type == "Admin"){
    this.config = {};
    }else if(type == "SuperAdmin"){
    this.config = {};
    }else{
    this.config = {};
    }
    }

    User.prototype = {
    this.fontColor = this.config.fontColor;
    this.fontSize = this.config.fontSize;
    ...
    }





  • 相关阅读:
    php目录递归删除
    php嵌套数据
    HTML 标签
    枚举 递归
    传值传址 结构体
    去超市选择要购买的商品 将数组放入集合
    函数
    集合 ArrayList 类
    特殊集合 Stack Queue Hashtable
    二维数组,多维数组
  • 原文地址:https://www.cnblogs.com/zzbo/p/2349686.html
Copyright © 2011-2022 走看看