javascript模块化是什么及其优缺点介绍

JavaScript012

javascript模块化是什么及其优缺点介绍,第1张

模块化的优缺点:

a>优点:

可维护性

1.灵活架构,焦点分离

2.方便模块间组合、分解

3.方便单个模块功能调试、升级

4.多人协作互不干扰

可测试性

1.可分单元测试

b>缺点:

性能损耗

1.系统分层,调用链会很长

2.模块间通信,模块间发送消息会很耗性能

3)最近的项目中也有用到模块化,

使用的是seajs,但是当引用到jquery,jquery easyui/或者jquery

UI组件时,有可能会用到很多jquery插件,那这样要是实现一个很复杂的交互时,模块间的依赖会很多,使用define()方法引入模块会很多,不知

有么有什么好的方法

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

JavaScript作为赋予网页生命的前端基础技术,它可以实现相应的效果和交互,是前端开发不可或缺的基本配置之一,今天来就来了解一下JavaScript的前世今生。具体内容包括JavaScript的诞生、语言版本的更迭以及应用领域等等。让大家在入门开始学习JavaScript之前,对JavaScript的发展历史有一个大致的了解。

1、JavaScript的诞生

JavaScript诞生于1995年,当时,它的主要目的是处理以前由服务器端需要负责的一些没有输入验证操作。在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输入了无效的值。Netscape Navigator希望通过JavaScript来解决这个问题。在人们普遍使用电话拨号上网的时代,能够在客户端完成一些基本的验证任务绝对是令人兴奋的。毕竟,拨号上网速度之慢,导致了与服务器的每一次数据交换事实上都成了对人们耐心的一次考验。由此诞生了JavaScript!

JavaScript在1995年2月一经发布就获得了巨大的成功,Netscape随后在Netscape Navigator 3(网景浏览器)中发布了JavaScript 1.1版本。JavaScript发展至今不断迭代,已经取得了伟大成就;但是JavaScript是由公司开发而成的,不便于其他公司拓展和使用,同时JavaScript开发者也在丰富自己的代码和选择使用框架方式,让JavaScript运行在标准兼容的、无障碍的网页中。

2、JavaScript的定义

JavaScript是一种在网络浏览器上运行的编程语言,这种编程语言我们称之为脚本。而脚本语言是在浏览器执行的语言,是一段程序,不是软件。脚本语言可以添加到使用HTML和CSS构建的网站中,在页面加载时会自动执行,并在实现各种页面动态效果、交互方面发挥重要的作用;例如,在购物网站购物时,购物车的使用和成本估算就需要JavaScript,如果没有JavaScript就无法完成结算,购物车的各项操作将无法实现。

3、JavaScript语言版本更迭

为了让JavaScript能够运行在标准兼容的、无障碍的网页中,也就是需要解决JavaScript的兼容问题;因此,欧洲计算机制造商协会ECMA牵头制定JavaScript标准,取名为ECMAScript,至此,JavaScript 的核心语言ECMAScript产生。ECMAScript 是一门由 ECMA TC39 委员会标准化的编程语言,其规定了JavaScript的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JavaScript语法工业标准。其在1997年正式发布第一版,历经十数年的迭代更新,于2018年发布了ECMAScript 8,其功能空前强大,增加了更加丰富的新特性。JavaScript语言版本更迭的发展历史如下

4、JavaScript的应用领域

经过多年发展,JavaScript成为现代技术世界中最受欢迎和增长最快的编程语言之一,同时成为前端开发人员的最爱。那么,为什么JavaScript能够有如此高的热度呢?因为JavaScript有着丰富的用途,几乎所有浏览器都支持它,是互联网上最流行的脚本语言。只要是稍微对前端感兴趣,你肯定听说过“大前端”,“全端”,JavaScript 完全符合这一趋势,JavaScript可以写前端、后端、客户端,甚至可以写各式应用以及操作系统!下面这张图表示JavaScript的实际使用功能与领域:

回顾JavaScript的发展历史,JavaScript可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端,足以证明JavaScript无处不在的魅力。

模块设计最早源自软件设计的基本概念,在早期的软件设计中提出了针对产品功能的模块化设计。

在设计好软件的体系结构后,就已经在宏观上明确了各个模块应具有什么功能,应放在体系结构的哪个位置。我们习惯地从功能上划分模块,保持“功能独立”是模块化设计的基本原则。因为,“功能独立”的模块可以降低开发、测试、维护等阶段的代价。但是“功能独立”并不意味着模块之间保持绝对的孤立。

一个系统要完成某项任务,需要各个模块相互配合才能实现,此时模块之间就要进行信息交流。

模块通常是“由元件或零部件组合而成的、具有独立功能的、可成系列单独制造标准化单元,通过不同形式的接口与其他单元组成产品,且可分、可合、可互换”。这个定义描述了模块的如下特征:

(1)模块不同于一般产品的部件,它是一种具有独立功能,可单独制造、销售的产品。

(2)模块通常由各种元器件组合而成,高层模块还可包含低层模块(即由模块组成模块)。

(3)它是构成产品系统的完整单元一(要素),它与产品系统的其他要素可分、可合。

(4)模块通过各种形式的接门(刚性、柔性)和连接方式(单向、双向、多向)实现模块间的连接与组合。

(5)模块通常是标准化产品,可成系列设计和制造。

模块的种类

按照模块的用途和特征可以划分许多种类,其中常见的有:

功能模块: 按照价值工程的功能分析方法,可将产品系统分为具有不同功能的单元,执行这些功能的模块称功能模块。功能模块又可分为基本功能模块、辅助功能模块、特殊功能模块等,而它们又可根据产品的特点进一步细分为功能更具体的模块。

结构模块: 依据模块在产品系统中所处的地位和模块之间的关系,可将模块划分为不同等级,叫做分级模块,在这个分级体系中通常包括高层模块、分模块(或子模块),或一级模块、二级模块、三级模块等。

高层模块通常是由相应分级系统中低一级的模块组成最低等级的模块则由元件或分元件组成,元件或分元件的构成要素叫做负分元件,它是分级体系中最基本的模块元件。

此外还可以依据模块的通用程度分为通用模块、专用模块、特别模块等。

--通用模块是指该类模块的通用化程度高,它不仅用于某一种产品中,而且能在该类产品系列中通用,甚至能做到跨系列、跨大类产品通用,这种模块通常是成系列开发、成批制造,不断产生派生、变型产品,其应用面广、生命周期长经济效益好。

--专用模块是为某种产品或某项用途而专门设计制造的,一般需单独研制。

--特别模块是根据系统的特殊要求而特殊设计的。

模块化: 把程序划分成若干个模块, 每个模块完成一个子功能, 把这些模块集总起来组成一个整体,可以完成指定的功能,满足问题的功能。

模块: 一个拥有明确定义的输入、输出和特性的程序实体。

模块化设计

模块化是好的软件设计的一个基本准则,可减小设计所需要的总工作:

功能划分模块的原则

1. 分解

2. 模块独立性

模块化产品设计

(一)模块化设计的目的

模块化产品设计的目的是以少变应多变,以尽可能少的投入生产尽可能多的产品,以最为经济的方法满足各种要求。由于模块具有不同的组合可以配置生成多样化的满足用户需求的产品的特点,同时模块又具有标准的几何连接接口和一致的输入输出接口,如果模块的划分和接口定义符合企业批量化生产中采购、物流、生产和服务的实际情况,这就意味着按照模块化模式配置出来的产品是符合批量化生产的实际情况的,从而使定制化生产和批量化生产这对矛盾得到解决。

模块化设计有两种情形:

一种是为生产某种复杂产品或为完成某项工程,采用模块组合的方法,根据该产品或工程系统的功能要求,选择、设计相应的模块,确立它们的组合方式;

另一种是在对各种不同类型、不同用途、不同规格产品进行功能分析的基础上,从中提炼出共性较强的功能,据此设计功能模块,目的不仅仅是满足某种产品的需要,而是要它在更广的范围内通用。

模块化设计的主要方式有:

1)横系列模块化设计。不改变产品主参数,利用模块发展变形产品。这种方式是易实现,应用最广。常是在基型品种上更换或添加模块,形成新的变形品种。例如,更换端面铣床的铣头,可以加装立铣头、卧铣头、转塔铣头等,形成立式铣床卧式铣床或转塔铣床等。

2)纵系列模块化设计。在同一类型中对不同规格的基型产品进行设计。主参数不同,动力参数也往往不同,导致结构形式和尺寸不同,因此较横系列模块化设计复杂。若把与动力参数有关的零部件设计成相同的通用模块,势必造成强度或刚度的欠缺或冗余,欠缺影响功能发挥,冗余则造成结构庞大、材料浪费。因而,在与动力参数有关的模块设计时,往往合理划分区段,只在同一区段内模块通用;而对于与动力或尺寸无关的模块,则可在更大范围内通用。

3)横系列和跨系列模块化设计。除发展横系列产品之外,改变某些模块还能得到其它系列产品者,便属于横系列和跨系列模块化设计了。德国沙曼机床厂生产的模块化镗铣床,除可发展横系列的数控及各型镗铣加工中心外,更换立柱、滑座及工作台,即可将镗铣床变为跨系列的落地镗床。

4)全系列模块化设计。全系列包括纵系列和横系列。例如,德国某厂生产的工具铣,除可改变为立铣头、卧铣头、转塔铣头等形成横系列产品外,还可改变床身、横梁的高度和长度,得到三种纵系列的产品。

5)全系列和跨系列模块化设计。主要是在全系列基础上用于结构比较类似的跨产品的模块化设计上。例如,全系列的龙门铣床结构与龙门刨、龙门刨床和龙门导轨磨床相似,可以发展跨系列模块化设计。

界面层的模块化设计

案例:电商活动UI设计模块化

电商平台,活动作为较为日常的运营模式,呈现出页面基数大、上线时间短、更新速度快3大特征。活动会场模块化,是将活动会场拆解成一个一个可拼装组件,之后将多个组件聚类归纳和整理,形成一套「模版库」,并在多次活动中不断扩充迭代便于使用,提升活动搭建效率及设计品质。

「会场模块化」详细设计

拆分的过于琐碎,每个模块至少都是「有含义」的。以京东618主会场为例,通过对「会场、品牌、关键词」等元素进行组合拼装,结合业务场景,快速产出了3套会场楼层组合。