JS设计模式——设计模式概论
前言
在了解设计模式后,发现它起始没有那么高大上,有些是我们平时开发中已经用到的东西(更好的设计模块,组织共同的代码),它只是给这些好用的代码模式起了一个名字而已。
一、设计模式
项目/功能 = 模块 + 沟通;
1. 设计模式扮演的角色
1. 帮助我们组织模块(通过一些设计模式,组织模块间的组成结构); 2. 帮助我们设计沟通(有的设计模式可以帮助我们设计模块间如何沟通); 3. 提高代码质量(通过设计模式,让代码更加优雅);
2. 程序设计原则
1. 开闭原则(我们的程序对扩展开放,对修改关闭。); 2. 单一职责原则(模块只做一件事情,它的职责越单一越好); 3. 依赖倒置原则(上层模块不依赖具体的下层模块,而应该依赖抽象层);
//依赖倒置原则(上层模块不依赖具体的下层模块,而应该依赖抽象层)代码实例 //假设有四种菜,一个点单类 //1.点单依赖菜的代码(有几种菜,点单上就忒有几种方法,当菜发生变动时,点单上的方法也要发生变动) function food1() { } function food2() { } function food3() { } function food4() { } function order() { } order.prototype.orderFood1 = function() { } order.prototype.orderFood2 = function() { } order.prototype.orderFood3 = function() { } order.prototype.orderFood4 = function() { } //2.在菜和点单中间,抽象出一个餐馆层的代码(这样菜无论怎么变动都不会影响我们的点单,我们只需要改变一下抽象层餐馆) function food1() { } function food2() { } function food3() { } function food4() { } function resturn(food) { //餐馆 var list = { //类似菜单 food1: new food1(), food2: new food2(), food3: new food3(), } return list[food]; } function order(food) { //点单 return resturn(food); }
3. 设计模式的分类
总结
革命尚未成功,同志仍需努力。