- 1.什么是设计模式?
设计模式是解决某个特定场景下对某种问题的解决方案。
- 2.为什么要用设计模式?
- 可以提高代码的重用性,易被他人理解,使得代码可靠性更高。比如新的需求添加或变动,我们不能直接修改原来的接口,因为之前的可能牵涉到很多地方,这时候就需要设计模式(适配器模式)来解决
- 3.设计模式的原则?
- ①-单一职责原则:一个代码实现一个功能,对于复杂功能的代码把他们分成多个;
- ②-开放/封闭原则:对于扩展开放,对于修改封闭;对于新的需求扩展新的代码,而不是对原代码进行修改;
- ③-接口隔离原则:接口之间彼此分隔开,一
- ④-易用替换原则:子类可以覆盖父类,有父类的地方就可以有子类的出现
- 4.设计模式的类型?
- ①-结构模式类型
- ②-创建模式类型
- ③-行为模式类型
- 5.具体的设计模式与实现
- -单例模式
- 单例模式:保证一个类只有一个实例化对象,并提供一个访问它的全局访问点。
- -实现的方法:先判断实例存在与否,如果存在则直接返回,如果不存在则创建后再返回,以此确保一个类只有一个实例对象。
- -适用的场景:一个单一的对象。比如:弹窗,登陆等
class CreateUser{
constructor(name){
this.name = name;
this.getName();
}
getName(){
return this.name;
}
}
// 代理实现单例模式
var ProxyMode = (function(){
var instance = null;
return function(name){
if(!instance){
instance = new CreateUser(name);
}
return instance;
}
})();
// 测试单例模式的实例,单例模式只实例化一次,所以得到下面的结构。
var a = new ProxyMode("a");
var b = new ProxyMode("b");
console.log(a,b); // CreateUser { name: 'a' } CreateUser { name: 'a' }
console.log(a===b); // true