美文网首页
TypeScript中理解工厂模式

TypeScript中理解工厂模式

作者: 周星星的学习笔记 | 来源:发表于2022-02-19 00:04 被阅读0次

工厂模式相当于有一个工厂类,专门生产对象的,你告诉工厂需要生产什么样的对象,它就按照你的需求生产出什么样的对象,而不是自己每次去实例化对象。

一、代码示例

//定义汽车的类型
enum CarType {
    Bmw,
    Benz,
    Audi
}

//定义汽车协议
interface ICar{
    name:string;
    run():void;
}

//宝马类
class Bmw implements ICar{
    name:string = '宝马'
    run() {
        console.log(this.name + '开车啦')
    }
}
//奔驰类
class Benz implements ICar{
    name:string = '奔驰'
    run() {
        console.log(this.name + '开车啦')
    }
}
//奥迪类
class Audi implements ICar {
    name:string = '奥迪'
    run() {
        console.log(this.name + '开车啦')
    }
}

//汽车工厂
class CarFactory{
    //工厂方法
    static createCar(carType:CarType):ICar {
        let car:ICar;
        switch(carType) {
            case CarType.Bmw:
                car = new Bmw();
                break;
            case CarType.Benz:
                car = new Benz();
                break;
            case CarType.Audi:
                car = new Audi();
                break;
        }
        return car
    }
}
//造一辆宝马
let car1 = CarFactory.createCar(CarType.Bmw)
//开车
car1.run();
//造一辆奔驰
let car2 = CarFactory.createCar(CarType.Benz)
//开车
car2.run();

二、参考

工厂模式

相关文章

网友评论

      本文标题:TypeScript中理解工厂模式

      本文链接:https://www.haomeiwen.com/subject/wcoelrtx.html