首页 > 代码库 > JS设计模式之工厂模式

JS设计模式之工厂模式

简单工厂模式

又叫静态工厂方法:由一个工厂对象决定用那一种类来创建产品,主要用来创建同一类对象,是类的实例化的包装。

    var PlayBaseketball = function () {
        this.neededPeople = 15;
    };
    PlayBaseketball.prototype.rule = function () {
        console.log(‘运球,传球,投篮,‘);
    };
    var playFootball = function () {
        this.neededPeople = 20;
    };
    playFootball.prototype.rule = function () {
        console.log(‘带球,射球‘);
    };
    //运动
    var ballFactory = function (name) {
        switch(name) {
            case ‘baseketball‘:
                return new PlayBaseketball();
            case ‘football‘:
                return new playFootball();
            default:
                throw ‘我这里没有你要的东西‘;
        }
    }

 更简单的方式是使用类似于适配的方式做差异化管理:

    function createBall(name) {

        var temp = new Object();

        //公共部分
        var common = function () { }
        //差异部分
        if(name === ‘baseketball‘) {
            temp...
        } else if (name === ‘football‘) {
            temp...
        } else {
            throw ‘我没有你要的东西‘;
        }
    }

 

JS设计模式之工厂模式