zoukankan      html  css  js  c++  java
  • 创造型——简单工厂模式

    定义:由一个工厂对象决定创建某一正产品对象类的实例

    理解:一个工厂根据传入的参数,动态的决定应该创建哪一个产品的实例。

    eg:(一个运动工厂)

    var SportFactory = function(name){
        switch(name){
        case "NBA":
            return new Basketball();
        case "wordCup":
            return new Football();
        case "FrenchOpen":
            return new Tennis();
        }
    }

    eg:(基类)

    //篮球基类
    var Basketball = function(){
        this.intro = '篮球盛行于美国';
    }
    Basketball.prototype = {
        getNumber:function(){
            console.log("每个队伍需要5名队员");
        }
    }
    
    //足球基类
    var Football = function(){
        this.intro = '足球在全世界都很流行';
    }
    Football.prototype = {
        getNumber:function(){
            console.log("每个队伍需要11名队员");
        }
    }
    
    //网球基类
    var Tennis = function(){
        this.intro = '每年都有很多网球系列赛';
    }
    Tennis.prototype = {
        getNumber:function(){
            console.log("每个队伍需要1名队员");
        }
    }

    缺点:简单工厂类集中了所以对象的实例化,当系统中的产品类不断的增加,需要修改工厂类,并且增加判断条件,不利于系统的维护和扩展,只适用于创建少量类的情况下

  • 相关阅读:
    PHP面向对象练习
    PHP面向对象的特点
    PHP的构造函数和析构函数
    PHP面向对象
    AVL-TREE
    ReentrantLock
    treap-名次树-树堆
    细数那些我们熟悉的 排序!
    数据结构 - trie
    python 凸包(经纬度) + 面积[近似]
  • 原文地址:https://www.cnblogs.com/thonrt/p/9230327.html
Copyright © 2011-2022 走看看