//创建一个工厂的环境
//卖车的商店
function CarShop(){};
CarShop.prototype = {
constructor : CarShop, //还原构造器
sellCar : function(type){
var car = CarFactory.createCar(type);
return car;
}
}
//生产车的工厂,单体模式
var CarFactory = {
createCar :function(type){
var car;
switch (type) {
case 'Benz':
car = new Benz();
break;
case 'Bmw':
car = new Bmw();
break;
case 'Audi':
car = new Audi();
break;
default : 'not buy it';
}
//验证接口
Fan.Interface.ensureImplements(car , CarInterface);
return car;
}
}
//通过接口类,实例化一个接口对象
var CarInterface = new Fan.Interface('CarInterface',['start','run']);
//父类
function BaseCar(){};
BaseCar.prototype = {
constructor : BaseCar,
start : function(){
console.log(this.constructor.name + '...start');
},
run : function(){
console.log(this.constructor.name + '...run');
}
}
//车类,宝马,奔驰,奥迪
function Benz(){};
Fan.extend(Benz,BaseCar);
Benz.prototype.driveBenz = function(){
console.log('drive...Benz');
}
function Bmw(){};
Fan.extend(Bmw,BaseCar);
function Audi(){};
Fan.extend(Audi,BaseCar);
var shop = new CarShop();
var car = shop.sellCar('Benz');
car.start();
car.run();
car.driveBenz();
实现简单工厂(二)
最新推荐文章于 2023-06-11 13:58:55 发布