低耦合,在java中说到低耦合会不会影响模块之间的联系那么这个低耦合
来源:整理 编辑:智能门户 2023-08-30 18:49:27
本文目录一览
1,在java中说到低耦合会不会影响模块之间的联系那么这个低耦合
低耦合就是模块的独立程度,因为你是调用这些子程序,他们的联系要么是通过参数,要么是通过自己本身的过程,对于低耦合的指标就是,单独把这个模块放到哪个程序里面用,都可以单独运行不受任何程序的影响,或者只受参数影响而已
2,什么是高内聚低耦合
耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块之间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。
内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。简单地说,理想内聚的模块只作一件事情。
3,什么是高聚合低耦合还有封装的原则是什么意思
高聚内就是外部的公共方法很少,让外部的接口很干净。低耦合就是类与类之间不存在直接new的关系(可以用引用传递的方式)主要都是从对象职责划分的角度说的封装就是把一些功能放在一个对象之内高聚合是说一个对象的功能都在内部搞定,紧紧地结合在一起低耦合是说对象之间的依赖要松散,不要牵一发动全身只有这样,当系统规模扩大时,才能比较方便
4,什么叫低耦合高内聚
这是判断设计好坏的标准,主要是面向OO的设计,主要是看类的内聚性是否高,偶合度是否低。 高内聚:类与类之间的关系而定,高,意思是他们之间的关系要简单,明了,不要有很强的关系,不然,运行起来就会出问题。一个类的运行影响到其他的类。 低偶合:类内部的方法而言。把程序的功能尽量分散,别在一个类里只写一个或很好的方法,因为那样会给你的调试等带来很多问题。出了错你都不知道在什么地方。
5,写java代码所提倡的高内聚低耦合是什么意思 能具体讲讲么
高内聚,是指让一个类或者一个方法让他专注去做一件事情。低耦合:这个又要求对象,类之间减少耦合性,更通俗的说比如你一个类的方法引用了很多的别的类,而你是直接new出来的,这样就会出现,你修改某个类之后,这个方法就会出现异常错误。高内聚一般指功能内聚,共同完成同一功能,缺一不可,模块不可再分割耦合:一个软件结构内不同模块之间互连程度的度量低耦合是java中使用接口等降低了耦合度,使程序具备良好的扩展性,易于修改就是有的时候程序需要修改,我只需要改正一部分,单是如果程序的耦合性很强的话就需要从头再写一遍很不划算,而正常的开发中都是改那部分,重写那部分,把配置文件一改就成了,java中通过接口(interface),spring技术中的ioc等实现的解耦合楼上们讲的都很对,这种好处只有随着不断地去实践才能逐渐理解他的好处,它的最终的目的都是让代码变得可读性强,后期维护能方便。低耦合主要改某一个模块其他模块代码不用改就能达到某种功能目的。如果你修改一个模块导致了多个模块的内部代码要多次修改这就是高耦合给维护带来很多麻烦,要减少这种模块与模块的很强的依赖。内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。具体的可以参照:http://baike.baidu.com/link?url=D6wPHqOIbZC4gRHdKhxe4pIln25nssTraZOxdDesJVOJpshqr4u5b4XyvizI_BL684tJJfgLnL5kcqVFFM3qT_说的挺详细的了。满意请采纳。这个主要就是说:方法之间的嵌套尽量要少,功能相似的方法能整合在一起就整合在一起。提高方法的重用性。
6,高内聚低耦合的含义是什么如何提高代码的可重用性
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。2. 内聚分为哪几类?耦合分为哪几类? 内聚有如下的种类,它们之间的内聚度由弱到强排列如下: (1) 偶然内聚。模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块称为巧合强度模块。 (2) 逻辑内聚。这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能 (3) 时间内聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。 (4) 过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。 (5) 通信内聚:指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。 (6) 顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。 (7) 功能内聚:这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。耦合可以分为以下几种,它们之间的耦合度由高到低排列如下: (1) 内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合 一个模块直接访问另一个模块的内部数据 一个模块不通过正常入口转到另一模块内部; 两个模块有一部分程序代码重叠(只可能出现在汇编语言中); 一个模块有多个入口。 (2) 公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 (3) 外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 (4) 控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合 (5) 标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址;也就是地址传递。 (6) 数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的,相当于高级语言的值传递。 (7) 非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。耦合强度,依赖于以下几个因素: (1)一个模块对另一个模块的调用; (2)一个模块向另一个模块传递的数据量; (3)一个模块施加到另一个模块的控制的多少; (4)模块之间接口的复杂程度。百科粘过来的,你看看:基本解释 高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。高内聚 内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。 所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。低耦合 耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。)对于低耦合,粗浅的理解是: 一个完整的系统,模块与模块之间,尽可能的使其独立存在。 也就是说,让每个模块,尽可能的独立完成某个特定的子功能。 模块与模块之间的接口,尽量的少而简单。 如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。 这样有利于修改和组合。[1]编辑本段为什么要追求高内聚和低耦合 软件架构设计的目的简单说就是在保持软件内在联系的前提下,分解软件系统,降低软件系统开发的复杂性,而分解软件系统的基本方法无外乎分层和分割。但是在保持软件内在联系的前提下,如何分层分割系统,分层分割到什么样的粒度,并不是一件容易的事,这方面有各种各样的分解方法,比如:关注点分离,面向方面,面向对象,面向接口,面向服务,依赖注入,以及各种各样的设计原则等,而所有这些方法都基于高内聚,低耦合的原则。高内聚和低耦合是相互矛盾的,分解粒度越粗的系统耦合性越低,分解粒度越细的系统内聚性越高,过度低耦合的软件系统,软件模块内部不可能高内聚,而过度高内聚的软件模块之间必然是高度依赖的,因此如何兼顾高内聚和低耦合是软件架构师功力的体现。 高内聚,低耦合的系统有什么好处呢?事实上,短期来看,并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。[2]
文章TAG:
低耦合 在java中说到低耦合会不会影响模块之间的联系那么这个低耦合
大家都在看
-
关闭华为自动更新,怎么彻底把wlan环境关闭?
2022-12-26
-
iphone怎样自动开机设置时间设置时间
2022-12-30
-
windows7怎样自动关机,电脑怎么办?
2023-01-25
-
手机自动待机怎么恢复,电池电量低手机万一自动关机怎么办?
2023-01-31
-
iphone自动关机黑屏,iphone自动黑屏怎么办?
2023-02-05
-
自动喷墨纹身机,如何避免针管与皮肤接触产生喷墨?
2023-02-26
-
新浪微博怎么取消自动关注,让红包飞活动取消新浪微博自动关注
2023-02-28
-
科技智能工厂宣传稿怎么写,急请教电子公司宣传语
2023-03-01
-
华为p7如何自动接电话,如何安装和使用电信电视?一文看懂
2023-03-01
-
富宇智能科技怎么样,富宇智能锁产品怎么样性价比高不高
2023-03-07
-
iwatch关闭自动语音,苹果手机应用怎么用?
2023-03-16
-
车载蓝牙自动播放音乐,蓝牙连接设备上-1蓝牙享受三大优点
2023-03-20
-
手机到30%自动关机,手机频繁重启如何检测及恢复最新状态
2023-03-26
-
学王智能科技平板怎么样,9学王平板电脑界面中没有机器人怎样办
2023-04-13
-
三星i619自动充电,手机出现故障充电请用三星手机进行检测
2023-04-26