单一职责原则
一个对象(方法)只做一件事情
优点
- 降低了单个类或者对象的复杂度,按照职责把对象分解成更小的粒度,这样有助于代码复用,当一个职责需要变更的时候,不会影响到其他的职责。
缺点
- 明显的是会增加代码的复杂度,当我们按照职责把对象分解成更小的粒度之后,实际也增加这些对象之间的相互练习难度
最少知识原则
尽量减少对象之间的交互,如果两个对象之间不必要彼此直接通信,那么这个两个对象就不要直接发生相互联系,常见的是引入第三者来承担两者的通信,例如中介者模式和外观模式
开放封闭原则(OCP)
软件实体(类、模块、函数)应该是可以扩展,但是不可以修改
找出变化的地方,然后把变化封装起来(并没有实际的模板教导我们该怎样实现它,还是需要靠自己的体会以及经验去感受和实践其中的原则)
以上几个原则,建议参考书本进行理解,并对照案例体会,重复体会,相信会有属于自己的领悟
代码重构
- 提炼函数
- 合并重复的条件片段
- 把条件分支语句提炼成函数
- 合理使用循环
- 提前让函数退出代替嵌套条件分支
- 传递对象参数代替过长的参数列表
- 尽量减少参数数量
- 少用三目运算符
逻辑简单清晰可以使用三目运算符,如果过于复杂不建议使用 - 合理使用链式调用
- 分解大类型
参考书籍:js设计模式与开发实践
网友评论