TODO:工厂模式 Factory
设置参数,根据参数产出实例,实例的类型实在运行的过程中确定的,而且这些实例直接都有类似的接口,类似构造函数的功能 工厂模式的优点在于:能解决多个相似的问题,减少大量冗余代码。
function Pet() {
this.word = "....";
}
Pet.prototype.call = function () {
console.log(this.word);
};
function Dog() {
this.word = "wang wang wang ...";
}
Dog.prototype = Object.create(Pet.prototype);
Dog.prototype.constructor = Dog;
function Cat() {
this.word = "miao miao miao ...";
}
Cat.prototype = Object.create(Pet.prototype);
Cat.prototype.constructor = Cat;
function PetFactory(type) {
switch (type) {
case "dog":
return new Dog();
case "cat":
return new Cat();
}
}
var myCat = PetFactory("cat");
myCat.call();
var myDog = PetFactory("dog");
myDog.call();
工厂模式一般应用场景为使用接口进行对象实例化和类之间的解耦;