let Fashi = function() {
this.skill = "法攻";
this.blood = 120;
this.hit = 14;
console.log(this)
}
let Zhanshi = function() {
this.skill = "物攻";
this.blood = 180;
this.hit = 12;
console.log(this)
}
let Tanke = function() {
this.skill = "肉盾";
this.blood = 280;
this.hit = 6;
console.log(this)
}
const Fact = {
creator: function(role) {
let roler;
switch (role) {
case "法师":
roler = new Fashi();
break;
case "战士":
roler = new Zhanshi();
break;
case "坦克":
roler = new Tanke();
break;
}
return roler;
}
}
//冻结对象
Object.freeze(Fact);
var roleList = ['战士', '法师', '坦克']
roleList.forEach(function(item, idx) {
new Fact.creator(item);
})
Zhanshi { skill: '物攻', blood: 180, hit: 12 }
Fashi { skill: '法攻', blood: 120, hit: 14 }
Tanke { skill: '肉盾', blood: 280, hit: 6 }
工厂模式
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 说明:在我理解中,这里所谓的抽象,其实就是制定某一个接口规范。具体体现在代码里,就是设置一个基类,基类遵守某一套接...
- 一、引子 话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)),还雇了司...
- 哲学上说“是什么,为什么,怎么用”是认识问题的逻辑思维过程. 本文将以厂长工厂造车为例子讲述这三种设计模式。 简单...