《JavaScript设计模式与开发实践读书笔记》
本周分享程序设计中的几个重要原则,开放封闭原则、接口和面向接口编程以及代码重构
开放封闭原则
开放封闭原则是面向对象程序设计中的一个很重要的原则,许多设计模式都是基于开放封闭原则而设计的,例如:***模式、职责链模式以及发布订阅模式等等。
开放封闭原则就是要把不变的部分和变化的部分隔离开来,开发的时候尽量不要去碰那些不变的部分。
例如,我们在写代码的过程中,如果要增加新功能,我们最好是单独写一个函数,然后将这个函数添加到何时的地方,而不是对原有的函数做修改。React和angular中的生命周期钩子就是一个典型的例子,一个组件从窗前到渲染,再到销毁,React和angular等框架其实已经实现了一些功能,但是考虑到使用者,可能要添加新功能,它们将这个过程封装成钩子函数,方便使用者进行定制化的处理。
接口和面向接口编程
由于js是一种弱类型的语言,没有类型判断,因此在js中很少提到接口。但是随着前端代码的逻辑越来越复杂,改革js的呼声也越来越大,于是TypeScript变横空出世。TypeScript不仅带来了类型判断,也带来了接口和泛型。接口的作用就是达成一种共识,它规定了实现这个接口的对象所拥有的属性和方法,这样程序员可以快速的了解对象的功能。在java中,接口中定义的方法,接口的实例中必须全部实现,在TS中则可以人为的规定是否必须实现。
代码重构
代码重构是程序员经常要做的一件事,它能够有效的提升代码的质量,改善代码的可读性。作者在最后一张里讲解了有关代码重构的几种方法,下面我们分别做一些介绍。
提炼函数
提炼函数是编程中一项重要的工作,函数就相当于我们写作中的段落,它是组成程序的基本单元,我们把不同功能的模块抽离成函数也更利于我们阅读代码,理解代码的逻辑。作者概括提炼函数有三种优势:
- 避免出现超大函数,代码理解起来更容易
- 利于代码复用
- 函数的代码块小,使其更容易被重写
把条件语句提炼成函数
写程序一大忌讳就是出现太多的if else,我们可以通过职责链模式或者多态来避免判断语句
合理使用循环
js数组的几种方法,some,every,filter,map要理解起来,巧妙使用,可以有效减少代码量。
减少参数数量
尽量用对象来代替过长的参数列表,避免参数过长造成调用函数时的错误。典型的例子可以参考Echarts,利用一个配置对象来代替过多的参数,
少用三目运算符
expression ? a : b这种表达式尽量不要出现,因为可读性真的很差啊。
链式调用
jQuery的链式调用,清晰方便,便于阅读。要实现链式调用,每执行一个方法,必然要返回对象本身。
使用return退出多重循环
双重for循环,不要用break退出,用return就可以轻松搞定。
#Java##设计##笔记##读书笔记#