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;

        }

    }

  • 相关阅读:
    备战考研算法笔记(四)快速排序
    VMware安装
    使用 Vagrant 打造跨平台开发环境
    类加载器,注解,动态代理
    IE兼容forEach/map/every/some等新方法
    不得不看的Java代码性能优化总结
    关于Oracle误操作--数据被Commit后的数据回退(闪回)
    JPA与Hibernate的关系
    Jenkins-GitHub-Gradle自动构建项目
    过滤器Filter
  • 原文地址:https://www.cnblogs.com/Ting-log/p/9358030.html
Copyright © 2011-2022 走看看