js简单的工厂模式

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script>
    //简单工厂模式
    var BicycleShop = function(){};
    BicycleShop.prototype ={
        sellBicycle : function(model){
            var bicycle = null;
            switch(model){
                case 'The Speedster':
                    bicycle = new Speedster();
                    break;
                case 'The lowride':
                    bicycle = new Lowride();
                    break;
                case 'The Comfort Cruise':
                    bicycle = new ComfortCruise();
                    break;
            };
            Interface.ensureImplements(bicycle,Bicycle);
            bicycle.assemble();
            bicycle.wash();

            return bicycle;
        }
    };

    var AcmeBicycleShop = function(){};
    extent(AcmeBicycleShop, BicycleShop);
    AcmeBicycleShop.prototype.createBicycle = function(model){
        var bicycle = null;
        switch(model){
            case 'The speedster':
                bicycle = new AcmeSpeedster();
                break;
            case 'The Lowrider':
                bicycle = new AcmeLowrider();
                break;
            case 'The Flatlander':
                bicycle = new AcmeFlatlander();
                break;
            case 'The Comfort Cruiser':
            default :
                bicycle = new AcmeComfortCruiser();
        };
        Interface.ensureImplements(bicycle,Bicycle);
        return bicycle;
    };
    //工厂模式适用与一个 fn 根据参数不同,创建不同的对象
</script>
</body>
</html>

 

posted @ 2013-11-17 17:41  方方和圆圆  阅读(651)  评论(0编辑  收藏  举报

再过一百年, 我会在哪里?