zoukankan      html  css  js  c++  java
  • js 工厂模式简要介绍

    什么是工厂模式?就好比一个工厂,能造汽车、飞机...,通过对外接口,由顾客决定,来定制哪一款产品。

    在js内表现为,一个工厂函数/对象,包含汽车、飞机等子类,提供对外接口,根据参数返回不同子类的实例

    简单实例如下:

    var factory= {
        car:function(name, size){
            this.name= name;
            this.size= size;
            this.getName= function(){
                return this.name
            }
        },
        plane:function(name, size){
            this.name= name;
            this.size= size;
            this.getName= function(){
                return this.name
            }
        },
        makeCar:function(name, size){
            return new this.car(name, size)
        },
        makePlane:function(name, size){
            return new this.plane(name, size)
        },
        make:function(type, name, size){
            return new this[type](name, size)
        }
    }
    
    var o= factory.make('plane', '波音', 1000)
    console.log(o.getName())

    何时使用:

    1.对象构建十分复杂

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

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

    优点:

    消除对象之间的耦合,将所有实例化的代码放在一个位置以免代码重复

    缺点:

    大多数类最好使用new关键字和构造函数,可以让代码更加简单易读。而不必去查看工厂方法来知道

  • 相关阅读:
    ruby 类库组成
    ruby 数据类型Number
    ruby require的使用
    ruby $LOAD_PATH及类加载
    ruby编码说明
    RubyMine常用快捷键
    基础
    基础
    基础
    基础
  • 原文地址:https://www.cnblogs.com/yanze/p/7493920.html
Copyright © 2011-2022 走看看