我读可以通过“未通过不必要参数”被减少的数据耦合
说有一个makeCake
这需要在许多实例变量的方法Ingredients
类作为参数:
makeCake(ingredients.flour, ingredients.egg, ingredients.sugar, ingredients.cheese, ingredients.cream)
取而代之的这一点,只是通过整个配料对象
makeCake(ingredients)
并访问内部的变量makeCake
方法..
这被计为减少它调用类makeCake方法和配料类间的耦合? 之前你传递5个参数,现在你只传一个?
(请注意,这个问题是用Java语言做 - 和Scala的OO侧 - 记)
(抱歉,如果这个问题是让你渴望的蛋糕,它是突然出现在我的脑海的第一件事):)
看到http://depfind.sourceforge.net/Manual.html#Dependencies :
...的依赖是当一种元素的运作需要其他元素B的存在,我们说A 依赖于B,我们写:
A --> B
我们说有一个对外的依赖,而B有一个入站的依赖。 这是相同的依赖,但无论是入站或出站是相对于你如何看待它。 我们也说,A是依赖和B是可靠的 。
依赖图包括用于一起使用两种类型的关系链接的软件工件节点。
文物是包,类和功能。 我们使用术语功能来指定类的属性,构造函数和方法; 我们会从这里上对待他们一样。 为了分析依赖的目的,我们不不同类型的功能区分,无论是构造或常规方法,也不管该功能的特点,如被标记为final或static。
第一种类型的关系的是组合物 。 包上课,这本身具有的特点。 我们称这种“有”关系组成 。 特征节点被链接到通过组合物其类节点。 一类节点也连接到通过其组合物包节点。
所述第二类型的关系是相关性 。 类相互引用,功能相互引用和功能指向类。 我们把这种关系的依赖 。 每个节点被连接到使用依赖链路中不同类型的各种其他节点。
我认为没有这么多。
我觉得在格式的变化不是想法。
相反,如果你通过一个“的成分标识”,让目标查找它需要的东西....这会减少耦合的。
文章来源: Does passing an aggregate object instead of a long argument list of objects reduce data coupling