Имеет ли модуль AnimalList зависимость Uses от Animal? - PullRequest
1 голос
/ 10 ноября 2010

В Documenting Software Architectures: Views and Beyond можно прочитать

Использование - это форма зависимости, которая может существовать между двумя модулями. использует B, если правильность A зависит от наличия правильного реализация Б.

Теперь, означает ли это, что если у меня есть класс AnimalList, который является контейнером для экземпляров Animal, но фактически не вызывает никакого метода для любого животного, существует ли форма Uses зависимости от А до В?

Мне кажется, что нет. Я могу сделать любые изменения в Animal, которые AnimalList все равно не заметит. Ему просто нужно свое существование - больше ничего.

Есть ли какое-нибудь название для такого рода "отношений"?

Спасибо

1 Ответ

1 голос
/ 10 ноября 2010

Некоторые люди называют это связыванием имен, потому что AnimalList зависит от класса с именем Animal. Тем не менее, это, как правило, плохой дизайн, за исключением случаев, когда этого требуют недостатки языка. Правильная реализация заключается в использовании параметризованного типа некоторого вида. Таким образом, вы реализуете List, который полностью отделен от содержимого объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...