zoukankan      html  css  js  c++  java
  • 工厂模式

    解读:

    1、对象的构建十分复杂

    2、需要依赖具体的环境创建不同的实例

    3、处理大量具有相同属性的小对象

    代码

    1、工厂应该有厂长决定运输到底那条产品线

    2、消费者决定具体生产那条产品线即消费者决定子类

    var gongchang={

    };

    gongchang.changyifu=function(argument){

    this.gongren=50;

    alert('我们有'+this.gongren);

    },

    gongchang.chanxie=function(){

    alert('产鞋子')

    },

    gongchang.yunshu=function(){

    alert('运输')

    }

    gongchang.changzhang=function(para){

    //构造函数模式和单利模式

    return new gongchang[para]();

    }

    var me=gongchang.changzhang('chanyifu');

    简单模式

    这是一个简单工厂模式

    varXMLHttpFactory=function(){};

    XMLHttpFactory.createXMLHttp=function(){

    var XMLHttp=null;

    //XMLHttpFactory.creteXmlHttp()这个方法更具当前的环境情况范湖一个XHR对象

    if(window.XMLHttpRequest){

    XMLHttp=new XMLHttpRequest();

    }else{

    XMLHttp=new ActiveObject("Microsoft.XMLHTTP");

    return XMLHttp;

    }

    var AjaxHander=function(){

    var XmlHttp=XMLHttpFactiory.CreateXMLHttp();/*具体的操作*/

    }

    }

     抽象模式

    var XMLHttpFactory=function(){

    };

    XMLHttpFactory.prototype={

               createFActory:function(){//如果真的要调用这个方法会抛出一个错误,它不能被实例化,只能用来派生子类

                throw new Error("this is a abstract class");

             }

    }//派生子类

    var XMLHander=function(){

      XMLHttpFactory.call(this);

    }

    XMLHander.protptype=new XMLHttpFactory();

    XMLHander.prtotype.constructor=XXMLHander;//重新定义createFactory方法

    XMLHande.prototype.createFactory=function(){

        var XMLHttp=null;

      //XMLHttpFactory.creteXmlHttp()这个方法更具当前的环境情况范湖一个XHR对象

        if(window.XMLHttpRequest){

        XMLHttp=new XMLHttpRequest();

        }else{

        XMLHttp=new ActiveObject("Microsoft.XMLHTTP");

        return XMLHttp;

        }

    }

  • 相关阅读:
    浅谈Python常用英文单词
    python web框架 Django的APP以及目录介绍 2
    Python中的enumerate函数
    python web框架 django wsgi 理论
    python web框架 django 工程 创建 目录介绍
    python web框架 django工程的创建
    mysql c 终止 mysql输入语句模式
    前端 html input标签 placeholder属性 标签上显示内容
    img 标签注意 默认img标签,有一个1px的边框 img{ border: 0; }
    前端 html input标签 disable 属性
  • 原文地址:https://www.cnblogs.com/Ting-log/p/9358030.html
Copyright © 2011-2022 走看看