模块化编程

目录

  1. 1 模块化编程
  1. 2 关键方面
  1. 3 历史

    模块化编程

    模块化编程是一种软件设计技术,它强调将程序的功能分为独立的,可互换的模块,以使每个模块都包含执行所需功能的一个方面所必需的一切。

    模块接口表示该模块提供和需要的元素。接口中定义的元素可由其他模块检测。该实现包含与接口中声明的元素相对应的工作代码。模块化程序设计与结构化程序设计和面向对象程序设计密切相关,它们的全部目标都是通过分解成较小的部分来促进大型软件程序和系统的构建,并且都起源于1960年代。尽管这些术语的历史用法一直不一致,但“模块化编程”现在是指将整个程序的代码分解为高级片段:结构化编程到结构化的低级代码使用控制流,以及面向对象的编程的数据使用的对象,一种数据结构。

    关键方面

    使用模块化编程,可以将关注点分离,从而使模块执行逻辑上离散的功能,并通过定义明确的界面进行交互。通常,模块形成有向无环图(DAG)。在这种情况下,模块之间的循环依赖关系被视为指示这些模块应该是单个模块。在模块确实形成DAG的情况下,它们可以按层次结构进行排列,其中最低级别的模块是独立的,不依赖于其他模块,而较高级别的模块则依赖于较低级别的模块。特定程序或库是其自身层次结构中的顶层模块,但又可以看作是较高级程序,库或系统的较低层模块。

    模块化编程

    在创建模块化系统时,不是创建一个整体的应用程序(其中最小的组件是整体),而是单独编写几个较小的模块,因此当它们组合在一起时,它们会构建可执行的应用程序。典型地,这些也被编译分别经由单独的编译,然后通过一个链接的连接子。一个刚刚即时编译器可以执行一些这样的结构“上即时”的运行时间。

    这些独立的功能通常分为程序控制功能或特定任务功能。程序控制功能旨在用于一个程序。专门准备了特定的任务功能以适用于各种程序。

    这使得模块化设计的系统(如果构建正确)比传统的整体式设计具有更高的可重用性,因为所有(或许多)模块都可以在其他项目中重复使用(无需更改)。这也有助于将项目“分解”为几个较小的项目。从理论上讲,由于没有团队成员在创建整个系统,甚至不需要了解整个系统,因此大型团队将更容易组装模块化软件项目。他们可以只专注于分配的较小任务。

    历史

    模块化编程以子系统(尤其是I / O)和软件库的形式出现,可以追溯到早期的软件系统,在该系统中,它被用于代码的重用。1960年代末和1970年xxx发的以模块化为目标的模块化编程本身,作为结构化编程概念(1960年代)的大规模模拟。术语“模块化编程”至少可以追溯到1968年7月在信息和系统研究所由拉里·康斯坦丁组织的全国模块化编程研讨会上。

    模块未包含在ALGOL 68(1968)的原始规范中,但作为早期实现的扩展(ALGOL 68-R(1970)和ALGOL 68C(1970))包括在内,并于随后正式使用。从一开始就为模块化编程设计的xxx种语言是Niklaus Wirth的短暂的Modula(1975)。另一种早期的模块化语言是Xerox PARC的Mesa(1970年代),Wirth借鉴了Mesa以及其后续版本Modula-2(1978)中的原始Modula,该语言尤其通过其后续版本Modula-3影响了后来的语言。(1980年代)。Modula使用点限定名称(例如从模块M.a引用对象)与访问记录字段的表示法(以及类似的对象属性或方法)相吻合,并且在C#,Dart,Go, Java和Python等。模块化编程从1980年xxx始普及:最初的Pascal语言(1970年)不包含模块,但后来的版本,尤其是UCSD Pascal(1978年)和Turbo Pascal(1983年),就像Pascal一样以“单元”的形式包含了它们。 -影响Ada(1980)。扩展的Pascal ISO 10206:1990标准在其模块化支持方面与Modula2保持了紧密联系。标准ML(1984)aM拥有最完整的模块系统之一,包括在模块之间映射的函子。

    在1980年代和1990年代,尤其是由于C ++和Java的流行,模块化编程被面向对象的编程所遮盖,并且常常与之混淆。例如,C语言家族在C ++中支持对象和类(最初是C with Classes,1980)和Objective-C(1983),仅支持30年或更长时间的模块。Java(1995)支持包形式的模块,尽管代码组织的主要单位是类。但是,Python(1991)从一开始就突出使用模块和对象,使用模块作为代码组织的主要单位,使用“包”作为较大的单位。和Perl 5的(1994)包括用于两个模块和对象的支持,其中模件可从一个广阔的数组CPAN(1993)。

    模块化编程现已普及,并且几乎可以使用1990年代以来开发的所有主要语言。模块的相对重要性在不同的语言之间有所不同,并且在基于类的面向对象的语言中,与类作为组织和封装的单位仍然存在重叠和混淆,但是它们作为不同的概念都已得到很好的确立。


    模块化编程

    相关推荐

    客户端服务器模型

    目录 1 客户端服务器模型 2 客户端和服务器角色 3 客户端和服务器通信 4 集中计算 5 与点对点架构比较客户端服务器模型客户端服务器模型是一种分布式应用程序结构,用于在资源或服务的提供者(称为服务器)和服务请求者(称为客户端)之间划分任务或工作负载。通常,客户端和服务器通过不同硬件上的计算机网络进行通信,但是客户端和服务器都可以位于同一系统中。服务器主... (继续浏览)

    银泰红城

    目录 1 项目简介 2 6-9期项目基本信息 3 周边配套 4 产品户型 5 样板房 6 宣传片 7 物业公司简介 8 联系方式 9 资质荣誉 10 媒体报道项目简介银泰红城项目由湖南银泰置业有限公司全资开发,在衡阳高新区核心区域拥有1592亩连片开发土地,总规划建筑面积逾200万平米。十年来,银泰红城以其超高品质、超前规划,以及对舒居模式的匠心淬炼,从一期... (继续浏览)

    新城控股

    目录 1 集团简介 2 新城控股集团发展历程 3 新城控股集团人才理念集团简介新城控股坚持住宅地产与商业地产双核驱动的战略模式,即以住宅开发为主,同时理智选取优质地块进行商业综合体的开发运营。在住宅地产方面,公司计划形成以“上海为中枢,长三角为核心,并向珠三角、环渤海和中西部地区扩张”的“1+3”战略布局。在商业地产方面,公司计划在全国范围内选择性地获取优质... (继续浏览)

    高电子迁移率晶体管

    目录 1 高电子迁移率晶体管 2 优势 3 概念分析 4 说明 ▪ 静电机制 5 制造 6 应用高电子迁移率晶体管高电子迁移率晶体管(HEMT),也被称为异质结构FET(HFET)或调制掺杂场效应晶体管(MODFET),是一种场效应晶体管包含具有不同的两种材料之间的结带隙(即异质)作为沟道而不是掺杂区(通常是MOSFET的情况)。常用的材料组合是GaAs与A... (继续浏览)

    单片微波集成电路

    目录 1 单片微波集成电路单片微波集成电路单片微波集成电路或MMIC(有时称为“模拟”)是一种以微波频率(300 MHz至300 GHz)工作的集成电路(IC)设备。这些设备通常执行诸如微波混合,功率放大,低噪声放大和高频切换之类的功能。MMIC设备上的输入和输出通常与50欧姆的特性阻抗匹配。这使它们更易于使用,因为级联的MMIC不需要外部匹配网络。此外,大... (继续浏览)

    硅实验室

    目录 1 硅实验室 2 领导 3 产品硅实验室硅实验室(Silicon Labs)是一家无晶圆厂的全球性技术公司,设计和制造半导体,其他硅器件和软件,并出售给电子设计工程师和制造商,这些产品包括物联网(IoT)基础设施、工业自动化、消费者和全球汽车市场。它的总部位于美国德克萨斯州奥斯汀。该公司专注于微控制器(MCU)、无线片上系统(SoC)、定时设备、数字隔... (继续浏览)

    芯片载体

    目录 1 芯片载体 2 类型 3 塑料引线芯片载体 ▪ 无铅芯片载体在电子产品中,芯片载体是用于集成电路(通常称为“芯片”)的几种表面安装技术 封装中的一种。连接在方形包装的所有四个边缘上进行;与用于安装集成电路的内部空腔相比,封装的整体尺寸较大。 类型芯片载体可以具有J形的金属引线,用于通过焊料或插座进行连接,也可以是无铅的,带有用于连接的金属焊盘。... (继续浏览)

    多芯片模块

    目录 1 多芯片模块 ▪ 概述 2 芯片堆栈MCM 3 多芯片技术实例多芯片模块多芯片模块(MCM)是一般的电子组件(诸如具有多个导电端子或封装“销”),其中多个集成电路(IC或“芯片”),半导体管芯和/或其他分立元件通常集成在统一的基板上,以便在使用时可以将其视为较大的IC。其他术语,例如“混合”或“ 混合集成电路 ”,也指MCM。组成MCM的各个IC被称... (继续浏览)

    混合集成电路

    目录 1 混合集成电路 ▪ 概述 2 其他电子混合动力车混合集成电路混合集成电路(HIC),是单独的装置,例如半导体器件的构造的小型化的电子电路(例如晶体管,二极管或单片集成电路)和无源元件(例如电阻器、电感器、变压器和电容器),并粘结到基板或印刷电路板(PCB)上。在PCB上具有一个部件印刷线路板根据MIL-PRF-38534的定义,(PWB)不被视为真正... (继续浏览)

    轻度混合动力汽车

    目录 1 轻度混合动力汽车 ▪ 概述 2 优缺点 3 例子 ▪ 通用汽车 ▪ 本田轻度混合动力汽车轻度混合动力汽车,通常是带有内燃机的汽车,该内燃机配有电机(并联混合动力配置中的一台电动机/发电机),可以关闭发动机每当汽车滑行,制动或停止时,都可以快速重启。轻度混合动力汽车可以采用再生制动,并为内燃机(ICE)提供一定程度的动力辅助,但轻度混合动力汽车不具有... (继续浏览)

    混合动力协同驱动

    目录 1 混合动力协同驱动 2 原理 3 普锐斯平台世代 4 具有HSD技术的车辆清单混合动力协同驱动混合动力协同驱动 (HSD),也称为丰田混合动力系统II,是丰田汽车公司的商标名称,用于在丰田和雷克萨斯品牌的车辆中使用的混合动力汽车传动系统技术。首先介绍在普锐斯,该技术是在几个其他丰田和雷克萨斯车辆的选项和已被改编为的电驱动系统氢动力的未来,和用于插电式... (继续浏览)

    无级变速器

    目录 1 无级变速器 2 使用 ▪ 机动车辆 ▪ 发电系统 ▪ 绞车和卷扬机无级变速器无级变速器(CVT),也被称为无能传输、无级变速装置、滑轮传输或者在以下情况下的摩托车中,“扭转-和-走”,是一种自动变速器,可以通过一个连续范围的无缝改变有效传动比。这与提供固定齿轮比的其他机械变速器形成对比。CVT的灵活性加上适当的控制,即使输出速度变化,也可以使输入轴... (继续浏览)

    电子控制单元

    目录 1 电子控制单元 2 类型 3 关键要素 4 设计与开发 5 测试和验证电子控制单元电子控制单元(ECU)是任何嵌入式系统在汽车电子控制一个或多个所述的电气系统在车辆中或子系统。 ECU的类型包括发动机控制模块(ECM)、动力总成控制模块(PCM)、变速箱控制模块(TCM)、制动控制模块(BCM或EBCM)、中央控制模块(CCM)、中央定时模块(... (继续浏览)

    恒速驱动

    目录 1 什么是恒速驱动 2 恒速驱动机制什么是恒速驱动恒速驱动(CSD),采用输入轴以宽的速度范围旋转,提供该功率到输出轴,其以恒定的速度旋转变化的输入。它们用于驱动需要恒定输入速度的机构,通常是发电机。 恒速驱动机制恒速驱动主要用于客机和军用飞机的喷气发动机上,以驱动交流(AC)发电机。为了在恒定的交流频率(通常为400 Hz的三相115 VAC)... (继续浏览)

    三至财务

    目录 ▪ 三至财务简介 ▪ 三至财务企业特点 ▪ 一、服务优势 ▪ 二、经营理念 ▪ 三、服务承诺 ▪ 四、服务宗旨三至财务简介三至财务咨询有限公司创建于2008年9月,是广州市番禺区工商局批准设立的从事财税事务代理、工商事务代理的专业机构。公司成立以来,凭借专业的经验和先进的经营图片理念先后为500多家企业提供了各类服务。   三至财税... (继续浏览)

    油多多

    目录 1 续费提醒 ▪ 微信客服 2 油多多概述 3 油多多产品 4 产品优势 5 合作伙伴续费提醒该词条已欠费,认证功能已失效,续费后可恢复认证功能。微信客服油多多概述油多多是由深圳前海亿同城网络科技有限公司研发并推出的一款集挪车、加油和购物为一体的智能 APP 产品。 油多多运用了大数据、人工智能、物联网、云计算等技术,从而改变能源交易模式,打破行业垄断... (继续浏览)

    论证理论

    目录 1 什么是论证理论 2 论证的关键组成部分 3 参数的内部结构 4 对话类型 5 论据和知识基础 6 交流和非正式逻辑中的论证方法什么是论证理论论证理论是关于如何通过逻辑推理得出结论的跨学科研究; 也就是说,索赔是否基于前提。它包括民间辩论、对话和说服的艺术和科学。它研究了人工和现实环境中的推理规则,逻辑规则和过程规则。 论证包括与合作决策程序有... (继续浏览)

    循证政策

    目录 1 什么是循证政策 2 循证政策的历史 3 循证政策的方法 ▪ 循证政策批判什么是循证政策循证政策(EBP)这个名词在20世纪最后20年被广泛使用。它已在公共政策的多个领域中得到应用,以指称政策决策应基于严格建立的客观证据或以其为依据的思想。这里的隐含对比是基于意识形态或“常识”的政策制定。还假定,如果严格而全面地使用科学证据来为决策提供信息,而不是以... (继续浏览)

    循证实践

    目录 1 什么是循证实践 2 与传统相比 3 评估证据 4 循证实践的应用 ▪ 医学 ▪ 精神健康什么是循证实践循证实践(EBP)是一种观点,认为职业实践应基于科学证据。乍看之下,这似乎显然是合乎需要的,但该提议引起了争议。自1992年正式采用循证医学以来,循证医学一直在普及,并已扩展到相关的卫生专业、教育、管理、法律、公共政策等领域。根据研究表明科学研究中... (继续浏览)

    医疗管理硕士

    目录 1 医疗管理硕士 2 一般 3 美国 4 澳大利亚医疗管理硕士医疗管理硕士,是一个硕士 -level 专业学位授予学生谁完成规定的学习课程中需要在职业生涯的知识和能力的健康管理,涉及到医院的管理和其他卫生服务组织,以及公共卫生基础设施和咨询。程序会根据设置而有所不同;虽然是从业教师模式 这些课程通常在医学院、卫生专业学院或专职健康学院中找到,而基于课堂... (继续浏览)