写好JS的一些原则 | 青训营笔记
这是我参与「第四届青训营 」笔记创作活动的的第4天。
一、原则概括
写好JS的一些原则:
1、各司其职 htm、css、js职能分离
2、组件封装 好的UI组件具备正确性、扩展性、复用性
3、过程抽象 启用函数式编程思想
二、原则解释
1、各司其职
js——Behavioral
css——presentational
html——structural
html、css、js各司其职,应当避免不必要的由js直接操作样式,可以用class来表示状态,纯展示类交互寻求零js方案。
2、组件封装
组件:web页面上抽出来的一个个包含模板(html)、样式(css) 功能(js)的单元。好的组件具备封装性、正确性、扩展性、复用性。
基本方法:结构设计、展现效果、行为设计(API功能、Event控制流)
重构
1、组件插件化:解耦 将控制元素抽取成插件,插件与组件通过依赖注入的方式建立联系。
2、组件模板化:解耦 将HTML模板化,更易于扩展
抽象:将组件通用模型抽象出来
3、过程抽象
用来处理局部细节控制的一些方法。
函数式编程思想的基础应用:
input x => function f => output f(x)
总结:
过程抽象/HOF/装饰器、
命令式/声明式编程范式
三、封装代码
“写代码要有良好的封装,要高内聚,低耦合”
- 封装好的代码,内部变量不会污染外部。
- 可以作为一个模块给外部调用。外部调用者不需要知道实现的细节,只需要按照约定的规范使用。
- 对扩展开放,对修改关闭,即开闭原则。外部不能修改模块,既保证了模块内部的正确性,又可以留出扩展接口,使用灵活。
用于代码封装的设计模式主要有工厂模式,创建者模式,单例模式,原型模式