对于高内聚低耦合的解释

关于java中的一些名词的解释(高可用,低耦合高内聚等) 阅读详情

今天看驱动程序时看到这个词语,现在就来解释一下。

基本解释:  高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

高内聚

  内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。

  所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。

低耦合

  耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 对于低耦合,粗浅的理解是:

  一个完整的系统,模块与模块之间,尽可能的使其独立存在。

  也就是说,让每个模块,尽可能的独立完成某个特定的子功能。

  模块与模块之间的接口,尽量的少而简单。

  如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。

  这样有利于修改和组合。[1]

为什么要追求高内聚和低耦合

  软件架构设计的目的简单说就是在保持软件内在联系的前提下,分解软件系统,降低软件系统开发的复杂性,而分解软件系统的基本方法无外乎分层和分割。但是在保持软件内在联系的前提下,如何分层分割系统,分层分割到什么样的粒度,并不是一件容易的事,这方面有各种各样的分解方法,比如:关注点分离,面向方面,面向对象,面向接口,面向服务,依赖注入,以及各种各样的设计原则等,而所有这些方法都基于高内聚,低耦合的原则。 高内聚和低耦合是相互矛盾的,分解粒度越粗的系统耦合性越低,分解粒度越细的系统内聚性越高,过度低耦合的软件系统,软件模块内部不可能高内聚,而过度高内聚的软件模块之间必然是高度依赖的,因此如何兼顾高内聚和低耦合是软件架构师功力的体现。

  高内聚,低耦合的系统有什么好处呢?事实上,短期来看,并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。[2]

c语言如何实现高内聚低耦合_详解业务系统高内聚低耦合,值得收藏 概述今天跟领导交流时谈了一下业务解耦的一些内容,而其中就谈到了为什么需要解耦?回答这个问题,我们必须得知道什么是解耦。相信大多数朋友都在软件工程中听过这样一句话 —— “高内聚低耦合”。那么什么是 “高内聚”,什么是 “低耦合”呢?下面区分介绍一下。01什么是内聚内聚,从字面上来看有聚精会神、聚在一起的意思,那么 高内聚也就是尽可能的使一个模块或一个类再或者是一个方法只专注做好一件事。在设计软件... 阅读详情

相关推荐

告别玄学调试:用STM32CubeMX和逻辑分析仪搞定DP83848的RMII与SMI接口

本文详细介绍了如何使用STM32CubeMX和逻辑分析仪调试DP83848的RMII与SMI接口,帮助开发者超越表象,直接观察底层通信波形。通过实战案例和高级调试技巧,解决常见问题如时钟偏移、信号完整性等,提升网络接口的稳定性和可靠性。

weixin_30752699的博客 280

什么是低耦合高内聚

高内聚就是说相关度比较高的部分尽可能的集中,不要分散 低耦合就是说两个相关的模块尽可以能把依赖的部分降低到最小,不要让两个系统产生强依赖 可能那么说,有点官方,下面我就举例子说明: 所谓的高内聚就是把功能相关的模块集合在一起,举例: 用户模块,就可以把用户的相关内容放在一起,比如用户个人信息,用户一些收藏等。 新闻模块,就可以把新闻相关的内容放在一起,比如新闻的一起查看,新闻的详情展示等。 如果把新闻相关的内容放到用户模块里面,首先新闻相关得内容和用户模块没有多大得关联性,这样得内聚就不是高聚合。 在举个最

hrj970808的博客 6739

【暂时完结】Prescan学习笔记

Prescan学习记录1. Prescan基础知识1.1 Conventions·坐标1.2 Road segment·道路片段1.2.1 让一个路段连接其他两个路段1.2.2 配置车道线1.2.3 Road marking·道路标志1.3 Trajectory·轨迹1.3.1 建立一个Path·路径1.3.2 配置Speedprofile1.3.3 Synchronization of Trajectories·轨迹同步1.3.4 Multiple trajectories · 多轨迹分配 1. Pres

dreautumn的博客 1万+

3分钟Tips:用大白话告诉你什么是低耦合|高内聚

耦合当然也可以这样简单的理解,我想懂电脑的应该都知道,CPU与主板之间的关系,CPU如果是特殊的CPU必须使用特殊的主板来支持,那么如果说这个CPU不唯一依赖唯一主板,那么就认为这个CPU与主板的关系是低耦合的关系。那么外界模块不关心支付系统模块的变化,只需要调用接口即可,如果具体的支付方式,比如支付宝的方式发生改变,在调用支付服务的模块中也不需要做任何的修改就可以正常的提供服务。低内聚的模块设计的坏处有:首先模块的功能不单一,模块的职责不明确,比较松散,更有甚者是完成不相关的功能。果细化到具体的实现呢?

Machine Learning with Tutors 5万+

高内聚低耦合的个人理解

开闭原则 官网定义: 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 我的理解:

Mengxinxiaobaia的博客 5467

什么是高内聚低耦合

高内聚低耦合 内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。 耦合:模块与模块之间接口的复杂程度。模块之间联系越复杂耦合度越高,牵一发而动全身。 目的:使得模块的“可重用性”、“移植性“大大增强。 通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。 模块粒度: 【函数】 高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合) 低耦合:减少类内部一个成员调用另...

Great haste makes great waste 5269

低耦合, 高内聚的含义是什么

高内聚,低耦合, 是软件工程中的概念, 是判断设计好坏的标准, 主要是面向对象的设计, 主要是看类的内聚性是否高, 耦合度是否低 高内聚 内聚就是一个模块内各个元素彼此结合的紧密程度, 高内聚就是一个模块内各个元素彼此结合的紧密程度高. 所谓高内聚实质一个软件模块是由相关性很强的代码组成, 只负责一项任务, 也就是常说的单一责任原则. 低耦合 耦合: 一个软件结构内不同模块之间互...

banxia117的博客 7138

高内聚低耦合的通俗解释

将系统分为表现层、业务层、数据层,每层仅依赖下一层接口(如Controller→Service→DAO)。• 一个用户管理模块仅处理用户注册、登录、信息修改等核心功能,不涉及订单或商品逻辑。:每个类或函数仅完成一个任务,例如图书管理类只包含新增、删除、修改图书的方法。• 订单模块通过API接口调用用户模块的验证服务,而不是直接操作用户数据库。:如电商系统中,用户管理、商品管理、订单管理各自独立,避免交叉逻辑。:电池、电机、ABS系统由不同供应商独立开发,通过标准化接口集成。

学习记录 1108

java高内聚低耦合什么意思_高内聚低耦合什么意思?合理通俗解释

我们常听一些厉害的程序员说过高内聚低耦合,小伙伴们知道它们是什么意思吗?下面听小编为你解析一下。什么是低耦合?官方的说,耦合就是元素与元素之间的连接、感知与依赖量度。元素代表什么?这里的元素代指各种功能、对象、模块、系统、子系统。例如:我们现在有方法A 1与A 2这里我们要在A 1元素中去调用A 2元素,当A 2元素出现问题或不存在的时,A 1元素就不能正常的工作,那么就可以说A 1元素和A 2...

weixin_39862847的博客 843

高内聚低耦合通俗解释

先看下百度百科的解释高内聚低耦合,是 软件工程 中的概念,是判断软件设计好坏的标准,主要用于程序的 面向对象 的设计,主要看类的内聚性是否高, 耦合度 是否低。 目的是使程序模块的可重用性、移植性大大增强。 通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。 内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事,它描述的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种 度量 ,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。 通俗解释

Dai_sir_man的博客 3496

Otto架构设计高内聚低耦合解释器实现

在JavaScript解释器领域,Otto作为一款由Go语言原生实现的解释器,以其独特的架构设计实现了高性能与可维护性的平衡。本文将深入剖析Otto的架构设计理念,重点解读其如何通过高内聚低耦合的模块划分,实现JavaScript代码的解析、执行与扩展。 ## 核心架构概览 Otto采用经典的解释器三段式架构,将整个执行流程清晰地划分为**解析器(Parser)**、**抽象语法树(AST)*...

gitblog_00306的博客 595

高内聚低耦合解释及实例【包学包会】

高内聚指的是模块内部各个部分之间的联系紧密,功能高度相关。一个高内聚的模块,其内部的各个功能都是围绕着一个单一的任务或目的来设计的。

科研小白一枚~ 愿上天不会辜负每一个努力的菜鸟! 955

高内聚低耦合解释?耦合的5大类型

用例模型描述的是外部行为者所理解的系统功能。用例模型的建立是系统开发者和用户反复讨论的结果,它描述了开发者和用户对需求规格所达成的共识。①:系统定义:系统被看作是一个提供用例的黑盒子,内部如何工作、用例如何实现,这些对于建立用例模型来说都是不重要的表示:系统用方框表示,其边线表示系统的边界,用于划定系统的功能范围,定义了系统所具有的功能。描述该系统功能的用例置于方框内,代表外部实体的行为者置于方框外②:用例定义:一个用例是可以被行为者感受到的、系统的一个完整的功能。

Sunshine的专栏 893

高内聚低耦合------好理解的民间解释

官方: 高内聚:“相关度”比较高的尽可能集中不分散 低耦合:两个相关的模块尽可能把依赖度降低,不要让两个系统产生“强依赖” 他俩的关系:正常来讲高内聚会导致高耦合,低内聚会导致低耦合。 1.一个类里写很多方法为啥不是高内聚? 首先要懂,高内聚指的是“”相关度“”比较高的尽可能集中,是相关度高的。有的人看见一个类里面写了很多很多方法就觉得是高内聚了,错了兄弟,人家的说的是相关度,你一个类里写了吃饭的方法+如厕的方法+学习的方法+运动的方法+........吃饭运动如厕学习有啥相关的?吃饭能≈

qiushubo的博客 1157

双机热备工作模式及高内聚低耦合架构解释

双机热备份技术是一种软硬件结合的较高容错应用方案。 该方案是由两台服务器系统和一个外接共享磁盘阵列柜 ( 也可没有,而是在各自的服务器中采取 RAID 卡 ) 及相应的双机热备份软件组成: 在这个容错方案中,操作系统和应用程序安装在两台服务器的本地系统盘上,整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统,将所有...

weixin_33884611的博客 271

高内聚低耦合通俗理解_如何通俗的解释工业物联网?

用通俗的语言来解释的话,我个人理解就是「机器人代替工人,AI 代替决策层」的自动化工厂。当然我们人类还是有工作的,也就是设计和维护这样一个工业物联网系统,也就是工业 4.0 系统。也许当某一天这个网络会自己自愈,自己运维,不用人类维护的时候,我们会称为工业 5.0,然后会自己迭代更新的时候,可能会变成工业 6.0。PS:我对物联网的理解比较倾向于是系统,而不是纯粹的网络连接。这点上仅仅是个人倾向理...

weixin_39675728的博客 288

理解高内聚低耦合

低耦合: 耦合就是元素与元素之间的连接,感知和依赖量度。这里说的元素即是功能,对象,系统,子系统。模块。 例如:现在有方法A和方法B 我们在A元素去调用B元素,当B元素有问题或者不存在的时候,A元素就不能正常的工作,那么就说元素A和元素B耦合 耦合带来的问题: 当元素B变更或者不存在时,都将影响元素A的正常运作,影响系统的可维护性和易变更性。同时元素A只能运行在元素B中,这也大大的降低了...

咔咔博客 1万+

高内聚低耦合

基本解释  高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。 面向对象设计原则追求:模块之间的低耦合,模块内部组件的高内聚高内聚   内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。   所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也

zhangyulin54321的专栏 6354

2分钟彻底搞懂“高内聚低耦合

高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的**内聚性是否高,耦合度是否低**。目的是使程序模块的可**重用性、移植性**大大增强。通常程序结构中各模块的**内聚程度越高,模块间的耦合程度就越低**。 - 内聚是从功能角度来度量模块内的联系,一个好的**内聚模块应当恰好做一件事**,它描述的是模块内的功能联系; - 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

緑水長流*z 2万+

2×2的alamouti方案实现_Alamouti方案_双发双收_Alamouti原始论文编写_AlamoutiBPSK_

可直接函数调用,根据Alamouti原始论文编写,双发双收。支持BPSK、QPSK、16QAM仿真的即时结果输出。

上一篇: cygwin中使用javac
下一篇: 用usb安装ubuntu server 10.04
chenaibo
博客等级 码龄16年 14粉丝 26原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值