工厂模式(Factory Pattern),封装具体实例创建逻辑和过程,外部只需要根据不同条件返回不同实例。
优点:实现代码复用性,封装良好,抽象逻辑;
缺点:增加了代码复杂程度;
class ZhangSan{
constructor() {
this.name = "张三";
}
}
class LiSi{
constructor() {
this.name = "李四";
}
}
function Factory(personName) {
switch(personName) {
case 'zhangsan':
return new ZhangSan();
break;
case 'lisi':
return new LiSi();
break;
default:
console.log("暂无此人");
break;
}
}
let zhangsan = Factory("zhangsan");
let lisi = Factory("lisi");
console.log(zhangsan, lisi);