Определение "коллабораторов" (объекта) в проектировании программного обеспечения?

Определение "коллабораторов" (объекта) в проектировании программного обеспечения?
Определение "коллабораторов" (объекта) в проектировании программного обеспечения? - brechtcorbeel @ Unsplash

Этимология использования слова collaborators для обозначения классов, с которыми взаимодействует класс, происходит от Class Responsibility Cards.= .

=

Первоначально они были предложены Уордом Каннингемом и Кентом Беком в качестве инструмента обучения в их работе "Лаборатория для обучения предметно-ориентированному мышлению" =. Это было в далеком 1989 году. С тех пор все изменилось, поэтому этот термин уже не так распространен, как раньше.

Даже если это определение просто подтверждает, что "коллаборатор" - это синоним "зависимости".

Нет. Коллабораторы охватывают ЛЮБОЕ взаимодействие. Зависимость - это явное знание этого класса о другом и (обычно) общение с ним. Какой-то другой класс, знающий об этом классе и использующий его, не создает зависимость в этом классе. Оказалось, что это очень важное различие. Как правило, классам все равно, кто с ними разговаривает.


LetsCodeIt, 19 января 2023 г., 00:57