Высокая степень сцепления в модулях и низкое сцепление между модулями часто считаются связанными с высоким качеством в языках программирования OO.
Например, код внутри каждого Java-класса должен иметь высокую внутреннюю связность, но быть как можно более слабо связан с кодом в других классах Java.
Связь относится к тому, как связаны два класса/модулей и как они зависят друг от друга. Быть низкой связью означает, что изменение чего-то крупного в одном классе не должно влиять на другое. Высокая связь сделает ваш код сложным для внесения изменений, а также для его поддержания, поскольку классы тесно связаны друг с другом, что может привести к изменению всей системы.
Cohesion относится к классу (или модулю). Низкая сплоченность означает, что класс выполняет множество действий и не фокусируется на том, что он должен делать. Тогда высокая сплоченность означает, что класс ориентирован на то, что он должен делать, т. Е. Только методы, связанные с намерением класса.
Весь хороший дизайн программного обеспечения будет использоваться для обеспечения высокой степени сцепления и низкого сцепления.
Одно из различий, которое ускользало от меня сначала: «связь» - это * между * классами, а «сплоченность» - внутри * одного класса. – 2016-04-19 04:54:12