其他分享
首页 > 其他分享> > 工厂类设计模式( 耦合与解耦 )

工厂类设计模式( 耦合与解耦 )

作者:互联网

工厂类设计模式

  1. 工厂设计模式,顾名思义,就是用来生产的,在java 中,所有的对象都需要创建,若在创建时直接new该对象,会出现该对象耦合严重的现象,假设我们要更换对象,所有的new对象的地方都需要修改一次,这显然不便于开闭使用,若我们使用工厂来生产对象,只跟工厂打交道,就彻底和对象解耦,若有更换直接在工厂内选择更换该对象即可,达到与对象解耦的目的。所以说工厂模式最大的优点是:解耦。
  2. 什么是耦合?
    耦合,在软件工程中,简单的说就是,指一程序中,模块及模块之间信息或参数依赖的程度。

详细的说,耦合表示两个子系统(或类)之间的关联程度,当一个子系统(或类)发生变化时对另一个子系统(或类)的影响很小,则称它们是松散耦合的;反之,如果变化的影响很大时,则称它们是紧密耦合的。耦合的强弱取决于模块间接间的复杂性、引用模块的位置和数据的传送方式等。设计时应尽量使模块间的耦合度小,模块间的耦合度直接影响系统的可理解性、可测试性、可靠性和可维护性>

  1. 什么是解耦
    降低耦合度可以理解为解耦,模块间有依赖关系必然存在耦合,绝对的零耦合目前在做不到,但可以通过现有的方法将耦合度降至最低。

  2. 常用的解耦方法有如下几种:

(a)采用现有设计模式实现解耦,如事件驱动模式、观察者模式、责任链模式等都可以达到解耦的目的;
(b)采用面向接口的方式编程,而不是用直接的类型引用,除非在最小内聚单元内部。但使用该方法解耦需要注意不要滥用接口。
(c)高内聚,往往会带来一定程度的低耦合度。高内聚决定了内部自行依赖,对外只提供必须的接口或消息对象,那么由此即可达成较低的耦合度。

  1. 什么是程序设计中的高内聚、低耦合?

耦合性又称块间联系。是指软件系统结构中各模块间相互联系紧密程度的一种度量。
耦合性分类(低=>高)包括:无直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。

内聚性又称块内联系。是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。一个模块内各元素联系的越紧密,则它的内聚性就越高。
内聚性分类(从低到高): 偶然内聚,逻辑内聚,时间内聚,通信内聚,顺序内聚,功能内聚。

耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

标签:功能,对象,耦合度,工厂,模块,内聚,耦合,设计模式
来源: https://www.cnblogs.com/Hanna4603/p/16310663.html