- 9
- 0
- 约2.26千字
- 约 12页
- 2023-06-20 发布于广东
- 举报
软件工程中的概念高内聚低耦合
01简介内聚与耦合架构设计目录0302
基本信息高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的内聚性是否高,耦合度是否低。目的是使程序模块的可重用性、移植性大大增强。通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。内聚是从功能角度来度量模块内的,一个好的内聚模块应当恰好做一件事,它描述的是模块内的功能;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
简介
简介在软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则是高内聚低耦合。从模块粒度来看,高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合);低耦合:减少类内部,一个成员方法调用另一个成员方法。从类角度来看,高内聚低耦合:减少类内部,对其他类的调用;从功能块来看高内聚低耦合:减少模块之间的交互复杂度(接口数量,参数数据)即横向:类与类之间、模块与模块之间;纵向:层次之间;尽可能,内容内聚,数据耦合。降低耦合度的方法1、少使用类的继承,多用接口隐藏实现的细节。 Java面向对象编程引入接口除了支持多态外,隐藏实现细节也是其中一个目的。2、模块的功能化分尽可能的单一,道理也很简单,功能单一的模块供其它模块调用的机会就少。(其实这是高内聚的一种说法,高内聚低耦合一般同时出现)。3、遵循一个定义只在一个地方出现。4、少使用全局变量。5、类属性和方法的声明少用public,多用private关键字。
架构设计
架构设计架构是指可以预制和重构的软件框架结构。普遍指通过某种特定平台,而达到完成整体软件的功能。架构设计是指对软件、硬件、络、运营、政策等软件设计中的需求和要素进行决策,主要包括体系结构设计和各个层的模块设计。架构设计目标有个能够最大化的重用。首先,要在架构的设计中灵活地使用各种共享的,特别是开源的框架技术因为共享的架构可以方便开发组分解问题,从而对项目中的功能模块分为需要内部解决和使用已有外部服务两类,避免了重复开发实现。其次,尽量使用成熟的框架。由于服务器端软件系统的开发,涉及的知识、内容、要解决的技术问题很多,在某些方面使用第三方成熟的框架,相当于让别人帮助开发者完成了一些基础性的工作,此时开发者只需要集中精力完成系统业务逻辑的设计和实现。使软件系统实现可扩展性在技术上灵活地使用各种架构模式和代码设计模式,并且在使用代码设计模式的同时,使用其所提倡的面向接口编程,会对软件系统的可扩展性和可移植性的提高有所帮助。希望能够设计出“高内聚、低耦合”的应用系统。这是架构设计最主要的目标,实现系统的高内聚、低耦合遵从以下原则:利用分层架构实现系统在纵向上的低藕合;利用开源框架进一步确保纵向分层的具体实现;按照功能划分子系统来实现横向上的低偶合;利用包结构确保横向上低耦合的具体实现 ?。
内聚与耦合
耦合内聚内聚与耦合
内聚内聚:故名思议,表示内部间聚集、关联的程度,那么高内聚就是指要高度的聚集和关联。高内聚是指类与类之间的关系而定,高,意思是他们之间的关系要简单,明了,不要有很强的关系,不然,运行起来就会出问题。一个类的运行影响到其他的类。由于高内聚具备可靠性,可重用性,可读性等优点,模块设计推荐采用高内聚。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。内聚是从功能角度来度量模块内的,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能。偶然内聚:一个模块内的各处理元素之间没有任何,只是偶然地被凑到一起。这种模块也称为巧合内聚,内聚程度最低。逻辑内聚:这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能。时间内聚:把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。简单的说就是如果一个模块内的处理元素是相关的,而且必须以特定次序执行则称为过程内聚。例如某要完成登录的功能,前一个功能判断络状态,后一个执行登录操作,显然是按照特定次序执行的。
耦合耦合:是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间越多,其耦合性越强,同时表明其独立性越差。降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行。耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一
您可能关注的文档
- 2019年日历:流行音乐史上的今天.pptx
- 2023年首届巴拿马太平洋万国博览会.pptx
- 2023年亚洲金融危机.pptx
- AIDevOps:智能微服务开发、运维原理与实践.pptx
- C :二维三维图形绘制工程实例宝典.pptx
- Java算法从菜鸟到达人.pptx
- Lonely Planet孤独星球旅行指南:拉斯维加斯及周边.pptx
- 珠海金湾机场.pptx
- 中外饮食文化(第二版).pptx
- 中国铁路武汉局集团有限公司.pptx
- 2025年北京化工大学辅导员考试参考题库附答案.docx
- 2025年北京农学院辅导员招聘考试真题汇编附答案.docx
- 2025年北京劳动保障职业学院辅导员考试笔试题库最新.docx
- 住院医师规范化培训《医学检验科》习题.docx
- 2025年北京农学院辅导员招聘考试真题汇编附答案.docx
- 2025年北京北大方正软件职业技术学院辅导员考试笔试题库附答案.docx
- 2025年北京农业职业学院辅导员招聘备考题库最新.docx
- 2025年北京城市学院辅导员考试参考题库附答案.docx
- 2025年北京农业职业学院辅导员招聘备考题库最新.docx
- 2025年北京信息职业技术学院辅导员考试笔试真题汇编附答案.docx
原创力文档

文档评论(0)