最新消息:

采用模块化技术的好处有(什么是模块化开发)

媒体模版 admin 浏览 评论

模块化编程开发模式相信大家在学习前端编程开发技术的时候应该有接触和了解过。今天沙河北大青鸟就一起来分析一下,web前端模块化编程的好处都有哪些。

一、模块化的理解

1.什么是模块?

将一个复杂的程序依据一定的规则(规范)封装成几个块(文件),并进行组合在一起;

块的内部数据与实现是私有的,只是向外部暴露一些接口(方法)与外部其它模块通信。

2.模块化的进化过程

全局function模式:将不同的功能封装成不同的全局函数;

编码:将不同的功能封装成不同的全局函数;

问题:污染全局命名空间,容易引起命名冲突或数据不安全,而且模块成员之间看不出直接关系。

3.模块化的好处

避免命名冲突(减少命名空间污染)

更好的分离,按需加载

更高复用性

高可维护性

4.引入多个script后出现出现问题

请求过多

先我们要依赖多个模块,那样就会发送多个请求,导致请求过多。

依赖模糊

我们不知道他们的具体依赖关系是什么,也就是说很容易因为不了解他们之间的依赖关系导致加载先后顺序出错。

难以维护

以上两种原因就导致了很难维护,很可能出现牵一发而动全身的情况导致项目出现严重的问题。

“软件无线电”技术是指采用通用的硬件平台,通过软件编程来实现各种功能。“通用硬件平台”实际上是一台功能强大的袖珍型电子计算机,过去它靠硬件实现的任务,现在利用软件都可完成。例如,灌进一组电视软件,它就成了电视机;灌进收音软件,它就成了收音机;灌进无线电通信软件,它就成了无线电台。将各种各样的无线电软件灌进去,就成了一种多模式终端。“软件无线电台”的出现为实现三军联合作战和各军兵种之间的高效、可靠的协同通信找到了一种理想的手段,成为面向21世纪的一种全新的无线电通信技术。

这种别具一格的新型无线电通信设备,借助于一套可编程(程序编制)的方法可实现一机多用、一专多能。这种无线电台的硬件结构十分简单,但它的软件功能非常丰富,可以通过实时改变和运行不同的程序来提供无线电台的不同功能,可视灌进的软件分别完成调辐、调频、跳频和扩频等功能。换句话说,同是一部无线电台可以在不同的场合,充当不同的角色,以完成不同的通信任务。由于无线电台的“身份”能因需而变,这对提高通信设备的利用率无疑会有很大好处。

软件无线电台采用数字化体制、模块化结构,通过更新软件和硬件模块,它可以像个人计算机那样不断地升级换代。“软件无线电”概念的确立,迄今不到10年时间,但发展十分迅速,已成为发展现代通信的一个新的增长点。早在1994年,美军就完成了“易通话”(speak easy)软件无线电的第一期工程,第二期工程也已于1995年启动,到20世纪末推出实用的软件无线电台广泛装备部队。此外,供陆、海、空三军通用的,能覆盖从HF到C频段(1.5~2000兆赫)的频率范围、可同时提供多种通信业务(话音、数据和图像等),并具有灵活的组网、自适应抗截获和抗干扰能力的智能化软件无线电台的问世也只是时间问题。传统的硬件无线电台要逐步退出通信舞台,21世纪将是软件无线电台的天下。

软件产品可以被看作是由一系列具有特定功能的组件组成,作为一个完整的系统也可以被分解成一系列功能模块,这些模块之间的相互作用就形成了系统的所有功能。

所谓模块是指可组成系统的、具有某种确定独立功能的半自律性的子系统,可以通过标准的界面和其他同样的子系统按照一定的规则相互联系而构成的更加复杂的系统。每个模块的研发和改进都独立于其他模块的研发和改进,每个模块所特有的信息处理过程都被包含在模块的内部,如同一个“黑箱”,但是有一个或数个通用的标准界面与系统或其他模块相互连接。

在软件的模块化开发过程中,把一个源代码的结构分割成一个元系统和一系列的模块。

元系统指的是一个能够保持系统运转的最小的系统。

模块是一个较大系统的独特的部件,它能够由设计者独立设计出来,同时又可以作为一个整体在系统中运转。

把一个大系统切割成互相独立的不同的小系统,可以使一些并不是经常见面的开发者减少必要的交流次数。

另外,一个旧版本的模块可以被新版的模块所替换,同时却又不影响整个系统的运转。

这样,在新模块中所增加的功能就可以及时在现存的系统中体现出来,同时也不需要更改系统中的其他模块。

高度模块化的源代码结构给软件开发者和使用者均带来了极大的好处。

开发者可以对具有某种特定功能的模块进行独立开发而不需要花时间去协调与其他模块之间的关系。

并且模块化开发不仅允许模块之间的水平开发,而且可以通过对类似模块之间的创新和竞争(开发新的模块或者对原有的模块进行改进)充分改善系统的功能。

另外,作为最终的用户来说,在安装系统的时候可以就个人的需求与偏好选择适合自己的模块。

模块化是复杂系统的一个共同特征,模块化的代码结构是由松散的组件构成的,是对一个系统完全意义上的分割,而不像完全集成的代码,各个组件之间存在很强的依赖关系,并不是完全通过界面来交换信息。

总结:

第一,把一个系统分解成各个不同的子模块,不同的开发者专注于对其中某一模块的开发,一方面实现了劳动的分工,另一方面也提高了自由软件开发的效率。基于模块化的性质,每个模块在开发出来以后都可以通过一个被称作是内核的原系统进行信息交流,发挥整个模块的功能,同时也并不会影响其他模块功能的发挥。而且在各个不同的模块整合在一起后,由于外部性的存在,会使整个系统增加的功能要超过该模块本身的功能。在此过程中实现了价值的分割与整合。

第二,对于开发者而言,基于模块化的自由软件开发具有更大的吸引力,其在参与开发过程中可以得到更高的期望收益。

第三,在非模块化的软件开发过程中,存在着严重的“搭便车”现象,当一个开发者选择参与开发,其余的开发者就会选择“搭便车”,最终会导致软件的供给不足;在基于模块化的开发过程中,所有的开发者都更倾向于参与开发不同的模块,从而实现整个系统的开发。

MIS软件开发中的组件模式开发比较复杂,主要的阻力不在代码的实现过程中,因为这个工作通常只应该占据软件开发工作量的30%,而对业务需求的深度剖析、业务子系统的划分和业务组件的规划会占据约40-50%的工作量。

这些工作体现在设计阶段主要是对业务的广度、深度分析,把业务领域的对象元素进行细化,将业务操作划分为原子性功能,以此为基础构成业务组件,进而形成模块和子系统,同时业务操作之间的约束则需要逻辑化(代码系统可识别的逻辑);在此过程中,原系统也就形成了,它便是在业务领域中必须的组件、模块和子系统的集合;外延的组件在原系统上通过组合或热差拔即能够满足不同规模、深度、特性的业务模式运转。

转载请注明:片头模版 » 采用模块化技术的好处有(什么是模块化开发)

发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)

网友最新评论 ()