Уменьшает ли передача данных агрегатный объект вместо длинного списка аргументов
Я прочитал, что связность данных может быть уменьшена путем "не передавая ненужные аргументы"
Скажи, что есть 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 является надежным.
Граф зависимостей содержит узлы для программных артефактов, связанных вместе с использованием двух типов отношений.
Артефакты - это пакеты, классы и функции. Мы используем термин " особенность" для обозначения атрибутов, конструкторов и методов класса; с этого момента мы будем относиться к ним так же. В целях анализа зависимостей мы не проводим различий между различными типами объектов, будь то конструкторы или обычные методы, и независимо от характеристик объекта, таких как помеченные как окончательные или статические.
Первый тип отношений - это композиция. Пакеты имеют классы, которые сами имеют особенности. Мы называем этот вид "имеет" композицию отношений. Узел объекта связан с его узлом класса посредством композиции. Узел класса также связан с его узлом пакета посредством композиции.
Второй тип отношений - это зависимость. Классы относятся друг к другу, функции относятся друг к другу, а функции относятся к классам. Мы называем этот тип отношений зависимостью. Каждый узел связан с различными другими узлами различного типа, используя ссылки зависимости.
Я думаю, что не так много.
Я думаю, что изменение формата не идея.
Скорее, если вы передадите "идентификатор ингредиента" и позволите цели найти то, что ей нужно… это будет менее связано.