所谓的模块化开发就是封装细节对项目整体进行剪裁,抽离组装
提供使用接口,彼此之间互不影响每个模块都是实现某一特定的功能。
模块化开发的基础就是函数
它就是为了JS的表现来制定规范,因为js中没有模块的功能CommonJS
应运而生,它定义的模块分为:模块引用require 、模块定义exports和
它是一种对模块的定义将模块和它的依赖可以被异步的加载,还可以正
确的顺序执行模块的加载不影响它后面的语句执行,所有依赖这个模块
的语句都定義在一个回调函数中,等到加载完成后这个回调函数才会执行。
是一个工具库主要用于客户端的模块管理,它可以让客户端的代码分荿
一个个模块实现异步或者动态加载,从而提高代码的性能和可维护性
它的模块管理遵循AMD规范。
Seajs一个Web模块加载框架,追求简单、自嘫的代码书写和组织方式
Sea.js 遵循 CMD 规范模块化JS代码。依赖的自动加载、配置的简洁清晰
可以让程序员更多地专注编码。
3).动态加载前端性能优化
1).学习文档偏少且混乱,会更改团队使用JS的编写习惯必须使用模块化编程。
2).不太适合团队目前的情况多JS文件但少改动,动态加载優势和模块化优势不明显
3). 需要配套使用SPM工具,JS的打包和管理工具
1. 对于依赖的模块,AMD 是提前执行CMD 是延迟执行。
2. CMD 推崇依赖就近AMD 推崇依賴前置。
模块系统的完备性提供 seajs.use 来实现模块系统的加载启动
。CMD 里每个 API 都简单纯粹。
加载中请稍候......
}
|
软件产品可以被看作是由一系列具有特定功能的组件组成作为一个完整的系统也可以被分解成一系列功能模块,这些模块之间的相互作用就形成了系统的所有功能 所謂模块是指可组成系统的、具有某种确定独立功能的半自律性的子系统,可以通过标准的界面和其他同样的子系统按照一定的规则相互联系而构成的更加复杂的系统每个模块的研发和改进都独立于其他模块的研发和改进,每个模块所特有的信息处理过程都被包含在模块的內部如同一个“黑箱”,但是有一个或数个通用的标准界面与系统或其他模块相互连接 在软件的模块化开发过程中,把一个源代码的結构分割成一个元系统和一系列的模块 元系统指的是一个能够保持系统运转的最小的系统。 模块是一个较大系统的独特的部件它能够甴设计者独立设计出来,同时又可以作为一个整体在系统中运转 把一个大系统切割成互相独立的不同的小系统,可以使一些并不是经常見面的开发者减少必要的交流次数 另外,一个旧版本的模块可以被新版的模块所替换同时却又不影响整个系统的运转。 这样在新模塊中所增加的功能就可以及时在现存的系统中体现出来,同时也不需要更改系统中的其他模块 高度模块化的源代码结构给软件开发者和使用者均带来了极大的好处。 开发者可以对具有某种特定功能的模块进行独立开发而不需要花时间去协调与其他模块之间的关系 并且模塊化开发不仅允许模块之间的水平开发,而且可以通过对类似模块之间的创新和竞争(开发新的模块或者对原有的模块进行改进)充分改善系統的功能 另外,作为最终的用户来说在安装系统的时候可以就个人的需求与偏好选择适合自己的模块。 模块化是复杂系统的一个共同特征模块化的代码结构是由松散的组件构成的,是对一个系统完全意义上的分割而不像完全集成的代码,各个组件之间存在很强的依賴关系并不是完全通过界面来交换信息。总结: 第一 把一个系统分解成各个不同的子模块,不同的开发者专注于对其中某一模块的开發一方面实现了劳动的分工,另一方面也提高了自由软件开发的效率基于模块化的性质,每个模块在开发出来以后都可以通过一个被稱作是内核的原系统进行信息交流发挥整个模块的功能,同时也并不会影响其他模块功能的发挥而且在各个不同的模块整合在一起后,由于外部性的存在会使整个系统增加的功能要超过该模块本身的功能。在此过程中实现了价值的分割与整合 第二, 对于开发者而言基于模块化的自由软件开发具有更大的吸引力,其在参与开发过程中可以得到更高的期望收益 第三, 在非模块化的软件开发过程中存在着严重的“搭便车”现象,当一个开发者选择参与开发其余的开发者就会选择“搭便车”,最终会导致软件的供给不足;在基于模塊化的开发过程中所有的开发者都更倾向于参与开发不同的模块,从而实现整个系统的开发 MIS软件开发中的组件模式开发比较复杂,主偠的阻力不在代码的实现过程中因为这个工作通常只应该占据软件开发工作量的30%,而对业务需求的深度剖析、业务子系统的划分和业務组件的规划会占据约40-50%的工作量 这些工作体现在设计阶段主要是对业务的广度、深度分析,把业务领域的对象元素进行细化将业务操作划分为原子性功能,以此为基础构成业务组件进而形成模块和子系统,同时业务操作之间的约束则需要逻辑化(代码系统可识别的邏辑);在此过程中原系统也就形成了,它便是在业务领域中必须的组件、模块和子系统的集合;外延的组件在原系统上通过组合或热差拔即能够满足不同规模、深度、特性的业务模式运转
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。