模块化
代码的模块化
常见的生产级编程语言都支持模块化,
如 C++、Java、Python、PHP、JS 中都有 import
或 include
保留字。
通常以单个文件作为模块的最小单元。
在一个完整的web页面中, 通过不同节点的功能,结构的不同,可以分出多个模块,
而每个模块的实现方式和使用的技术等等都不相同,引入模块化,
可以切断每个模块的相互影响,使得单个模块中可以更好的优化代码。
模块化可以降低代码耦合度,减少重复代码,提高代码重用性,并且在项目结构上更加清晰,便于维护。
代码的模块化设计一般可抽象为三个部分:
- 输入(import)
- 计算(业务代码)
- 输出(export)
为什么要用模块化
- 把复杂问题分解成多个子问题
关注点分离 - 大型软件开发的技术基础
可扩展
可替换
代码重用 - 使多人并行开发成为可能
面向接口开发(而不是面向实现开发)
JS代码示例
ES6的语法里引入了import和export就是用来实现模块化的。当我们在app1.js 里封装好了controller 模型, 然后导出controller:
export default c // 默认导出
export {c} // 另外一种导出方式。记得要加花括号
在main.js里我们想用controller:
import x from './app1.js'
等价于import {default as x} from './app1.js'
x.init('#app1')