Уменьшает ли передача данных агрегатный объект вместо длинного списка аргументов

Я прочитал, что связность данных может быть уменьшена путем "не передавая ненужные аргументы"

Скажи, что есть makeCake метод, который требует много переменных экземпляра в Ingredients класс в качестве параметров:

 makeCake(ingredients.flour, ingredients.egg, ingredients.sugar, ingredients.cheese, ingredients.cream)

И вместо этого, просто передать весь объект ингредиентов

 makeCake(ingredients)

и получить доступ к переменным внутри makeCake способ..


Это считается уменьшением связи между классом, который вызывает метод makeCake, и классом Ingredients? Раньше вы передавали 5 аргументов, а теперь вы проходите только один?

(Обратите внимание, что этот вопрос был сделан с учетом языка Java - и OO-стороны Scala)

(извините, если этот вопрос заставляет вас жаждать торта, это было первое, что пришло мне в голову):)

2 ответа

Решение

См. http://depfind.sourceforge.net/Manual.html:

... зависимость - это когда один элемент A требует наличия другого элемента B. Мы говорим, что A зависит от B, и пишем это:

A --> B

Мы говорим, что A имеет исходящую зависимость, а B имеет входящую зависимость. Это та же зависимость, но является ли она входящей или исходящей, зависит от того, как вы на нее смотрите. Мы также говорим, что A является зависимым и B является надежным.

Граф зависимостей содержит узлы для программных артефактов, связанных вместе с использованием двух типов отношений.

Артефакты - это пакеты, классы и функции. Мы используем термин " особенность" для обозначения атрибутов, конструкторов и методов класса; с этого момента мы будем относиться к ним так же. В целях анализа зависимостей мы не проводим различий между различными типами объектов, будь то конструкторы или обычные методы, и независимо от характеристик объекта, таких как помеченные как окончательные или статические.

Первый тип отношений - это композиция. Пакеты имеют классы, которые сами имеют особенности. Мы называем этот вид "имеет" композицию отношений. Узел объекта связан с его узлом класса посредством композиции. Узел класса также связан с его узлом пакета посредством композиции.

Второй тип отношений - это зависимость. Классы относятся друг к другу, функции относятся друг к другу, а функции относятся к классам. Мы называем этот тип отношений зависимостью. Каждый узел связан с различными другими узлами различного типа, используя ссылки зависимости.

Я думаю, что не так много.

Я думаю, что изменение формата не идея.

Скорее, если вы передадите "идентификатор ингредиента" и позволите цели найти то, что ей нужно… это будет менее связано.

Другие вопросы по тегам