什么是系统
2016-06-15 13:46
225 查看
在生活和工作中,我们会接触到大量系统:自然界生态系统、计算机操作系统、软件办公系统,还有教育系统、金融系统、网络系统、理论系统等等。究竟什么是系统呢?
来看下维基百科的解释:
系统泛指由一群有关连的个体组成,根据预先编排好的规则工作,能完成个别元件不能单独完成的工作的群体。系统分为自然系统与人为系统两大类。
简言之,系统有两个基本特性:
系统由个体组成。
个体之间有关连,按照规则协同完成任务。
系统中的个体可称之为系统成员,这样,要构建一个系统,最基本层面需要做两件事:
定义系统成员:确定成员是什么。
约定系统通讯:确定成员之间如何交互,遵循的规则是什么。
只要把这两个问题描述清楚,我们就可以构建出系统。
模块是什么?
模块之间如何交互?
在前端开发领域,一个模块,可以是JS 模块,也可以是 CSS 模块,或是 Template 等模块。在 Sea.js 里,我们专注于 JS 模块(其他类型的模块可以转换为 JS 模块):
模块是一段 JavaScript 代码,具有统一的基本书写格式。
模块之间通过基本交互规则,能彼此引用,协同工作。
把上面两点中提及的基本书写格式和基本交互规则描述清楚,就能构建出一个模块系统。对书写格式和交互规则的详细描述,就是模块定义规范(Module Definition Specification)。比如 CommonJS 社区的Modules 1.1.1 规范,以及 NodeJS 的 Modules 规范,还有 RequireJS 提出的 AMD 规范等等。
Sea.js 遵循的是 CMD 规范,会在接下来的文档中详细阐述。
来看下维基百科的解释:
系统泛指由一群有关连的个体组成,根据预先编排好的规则工作,能完成个别元件不能单独完成的工作的群体。系统分为自然系统与人为系统两大类。
简言之,系统有两个基本特性:
系统由个体组成。
个体之间有关连,按照规则协同完成任务。
系统中的个体可称之为系统成员,这样,要构建一个系统,最基本层面需要做两件事:
定义系统成员:确定成员是什么。
约定系统通讯:确定成员之间如何交互,遵循的规则是什么。
只要把这两个问题描述清楚,我们就可以构建出系统。
模块系统
Sea.js 是一个适用于 Web 浏览器端的模块加载器。在 Sea.js 里,一切皆是模块,所有模块协同构建成模块系统。Sea.js 首要要解决的是模块系统的基本问题:模块是什么?
模块之间如何交互?
在前端开发领域,一个模块,可以是JS 模块,也可以是 CSS 模块,或是 Template 等模块。在 Sea.js 里,我们专注于 JS 模块(其他类型的模块可以转换为 JS 模块):
模块是一段 JavaScript 代码,具有统一的基本书写格式。
模块之间通过基本交互规则,能彼此引用,协同工作。
把上面两点中提及的基本书写格式和基本交互规则描述清楚,就能构建出一个模块系统。对书写格式和交互规则的详细描述,就是模块定义规范(Module Definition Specification)。比如 CommonJS 社区的Modules 1.1.1 规范,以及 NodeJS 的 Modules 规范,还有 RequireJS 提出的 AMD 规范等等。
Sea.js 遵循的是 CMD 规范,会在接下来的文档中详细阐述。
相关文章推荐
- h5设计稿尺寸详解
- 程序打开文件意外终止的调试-基于errorno.h
- TextKit介绍(转载3篇文章)
- iOS的网络环境判断
- 隐私保护政策
- ASP.NET Core1.0 带来的新特性
- MySQL5.6免安装版的安装教材教程
- Gallery
- Xshell秘钥登录Linux服务器: root && 普通用户
- 闲话计算机网络中的两军问题
- HDU 4565【二阶递推】
- ANDROID L - Material Design详解(视图和阴影)
- JSONObject返回到前端转化出错
- Linux3.6.7中Make uImage的load address 和 Entry Point相同的问题
- Unity3d--控制摄像机的视野范围
- .NET一个线程更新另一个线程的UI(两种实现方法及若干简化)
- 第15周 项目2---洗牌
- MySQL索引类型总结和使用技巧以及注意事项
- Androidapk美化
- 怎么能打开AOPR的日志文件