Что такое Сцепление и Отделение? Я нашел информацию о связи, но не об отделении.
Эта статья от Аарона очень хороша для понимания, также я бы порекомендовал вам прочитать книгу Manning Publications Spring in Action , в ней приведены очень хорошие примеры того, как пружина решает эту проблему, и она определенно улучшит ваше понимание этого.
РЕДАКТИРОВАТЬ:
Я наткнулся на это в этой замечательной книге под названием «Развитие объектно-ориентированного программного обеспечения с помощью тестов»:
Связь:
Элементы объединяются, если изменяется одно заставляет изменить другое. Для Например, если два класса наследуются от общий родитель, затем смена одного класс может потребовать изменения в Другие. Подумайте о комбинированной аудиосистеме: Это тесно связано, потому что если мы хочу перейти с аналогового на цифровой радио, мы должны перестроить все система. Если собрать систему из отделяется, он будет иметь низкое сцепление и мы могли бы просто поменять получатель. «Слабо» связанные функции (то есть с низкой связью) легче поддерживать.
Сплоченность:
Сплоченность элемента является мерой о том, формируют ли его обязанности значимая единица. Например, класс который анализирует как даты, так и URL-адреса, не последовательны, потому что они не связаны концепции. Представьте себе машину, которая моет и одежду, и посуду - это вряд ли удастся добиться успеха в обоих случаях. другая крайность, класс, который анализирует только пунктуация в URL вряд ли будет связным, потому что это не представляет собой целостную концепцию. К сделать что-нибудь, программист будет нужно найти другие парсеры для протокол, хост, ресурс и т. д. Функции с «высокой» когерентностью легче поддерживать.
Сплоченность - относится к принципу, согласно которому класс / метод должен отвечать только за одну вещь, т.е. не существует случайных методов, которые не входят в инкапсуляцию; метод делает только одно. Высокая / низкая сплоченность - это степень, в которой это выполняется.
Связь - насколько взаимозависимы разные части системы. например, как и где есть зависимости. Если два класса обращаются к методам друг друга, то они тесно связаны, так как изменение одного означает изменение другого. Разделение - это процесс создания чего-то, что было менее тесно связано или не было вообще.
Гибкие системы обладают высоким сцеплением и неплотным сцеплением.
Для связи эта статья в Википедии должна ответить на все ваши вопросы. Эта статья посвящена сплоченности.
«Развязка» - это просто еще одно название для «слабой / слабой связи».
Итак, эти термины отвечают на следующие вопросы: