/**
* @event nodejs常见设计模式
*/
/**
* @event 单一职责(一个对象或方法只做一件事情)
* @description
* 一个对象或方法只做一件事情。
* 如果一个方法承担了过多的职责,那么在需求的变迁过程中,需要改写这个方法的可能性就越大。
* 应该把对象或方法划分成较小的粒度。
*/
//团队
class Team {
getTeamAll() {
}
getTeamById() {
}
};
//用户
class User {
getUserAll(){
}
getUserById(){
}
}
//部门
class Department{
getDepartmentAll(){
}
getDepartmentById(){
}
}
/**
* @event 适配器模式(继承)
* @description
* 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性
* 提高代码重用性
* 提高代码的扩展性等
*/
class Master{
constructor(){
this.name = "master";
this.age = 22;
}
method(){
return "master=>method"
}
}
class Slave extends Master{
constructor(){
super();
}
slaveMethod(){
this.name = "slave";
console.log(this.name, master.name, this.method());
}
method(){
return "slave=>method"
}
};
new Slave().slaveMethod();
/**
* @event 开放封闭原则
* @description
* 当需要改变一个程序的功能或者给这个程序增加新功能的时候,
* 可以使用增加代码的方式,尽量避免改动程序的源代码,防止影响原系统的稳定.
* 如果不遵守开放封闭原则,更改源码,则很可能出现更多的bug
*/
/**
* @event 中间件/管道(middleware)
* 一个功能单元的输出是下一个功能单元的输入
* 比如express的next向下执行,这期间就维护着一个中间件队列
*/
/**
* @event 装饰者模式(抽象方法)
* @description
* 原有方法维持不变,在原有方法上再挂载其他方法来满足现有需求;
* 函数的解耦,将函数拆分成多个可复用的函数,
* 再将拆分出来的函数挂载到某个函数上,实现相同的效果但增强了复用性
*/
NodeJS常见设计模式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.