Коммуникационная сплоченность - PullRequest
1 голос
/ 14 марта 2011

Есть сцепление и сцепление для модулей. ХОРОШО. Есть функциональная и коммуникационная сплоченность. Функциональная сплоченность группируется по функциональности. ХОРОШО. Сплоченность связи группируется по входным / выходным данным .. Хм .. Не в порядке. Может ли кто-нибудь объяснить мне, что такое коммуникационная сплоченность или / и привести пример (любой язык, но предпочтительнее Java)?

Ответы [ 3 ]

3 голосов
/ 14 марта 2011

Во-первых, это называется Коммуникативная сплоченность .

Я нашел следующее объяснение ясно:

Коммуникационно-связный модуль - это модуль, который выполняет несколько функций для одних и тех же входных или выходных данных . Для пример получить автора, название или цену книги из библиографической записи на основе пропущенного флага. (Примечание: функции в этом примере могут выполняться независимо друг от друга и должны быть разделены для большей гибкости. Поддерживаемость обычно улучшается, когда вы разделяете связно-коммуникационный модуль на функционально связные модули.)

Для сравнения с другими типами сплоченности ссылка на статью кажется действительно ясной.

Как показывает пример, важно отдавать предпочтение функциональной сплоченности (или даже последовательной сплоченности), а не коммуникационной сплоченности.

Коммуникационная сплоченность редко встречается в объектно-ориентированных системах, поскольку объектно-ориентированные конструкции имеют тенденцию подчеркивать полиморфизм.

2 голосов
/ 14 марта 2011

Это только моя интерпретация, но я бы сказал, что «сплоченность связи» означает, что код, который работает с одними и теми же данными, помещается вместе и вместе с этими данными.«Вместе» может означать, что он находится в одном пакете или JAR, а это означает, что преимущество заключается, главным образом, в удобстве обслуживания.Или это может означать, что он работает на том же оборудовании или в той же локальной сети, что имеет преимущества в производительности и безопасности.

1 голос
/ 14 марта 2011

Предположительно, коммуникационная сплоченность предполагает использование открытых стандартных протоколов и форматов.например, HTTP, JSON и т. д.

ETA: Википедия говорит:

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

...