Связано ли «связывание» только с кодом, или этот термин может применяться к программным компонентам и архитектуре? - PullRequest
0 голосов
/ 22 июля 2011

Например, при обсуждении процесса сборки или развертывания, а также при условии, что он не зависит от IDE. Это «связь», или это считается разделением интересов, или что-то совершенно другое? Общая концепция заключается в том, чтобы ввести наименьшее количество переменных в процесс или архитектуру, чтобы при возникновении сбоя сложность определения возможных точек сбоя значительно снижалась. Есть ли другое определение для этого?

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Я бы охарактеризовал связь как нечто, относящееся к стабильности системы во время выполнения или системным изменениям.

При рассмотрении стабильности, сцепление входит в картину, если отказ одного компонента вызывает отказ других компонентов. Например, если два компонента программного обеспечения взаимодействуют напрямую через соединение TCP, то отказ одного компонента означает, что другой не может выполнять свою работу. Вся система не работает. Если я отделю, позволив двум компонентам обмениваться данными через очередь сообщений (например), то каждый компонент может продолжать работать независимо в отсутствие другого (при условии, что это имеет смысл в приложении).

При рассмотрении вопроса об изменении системы связь возникает, когда изменение кода в одном модуле означает, что мне нужно перейти и изменить код в большом количестве других модулей.

Пример, который вы привели с инструментами сборки / развертывания, является формой связывания, но не совсем то, что люди имеют в виду, когда рассматривают архитектурные проблемы, такие как время выполнения и связывание кода.

0 голосов
/ 22 июля 2011

Что-то совершенно другое.

Сцепление - это код.

Независимые инструменты - это просто независимые инструменты.

Microsoft заставила меня поверить, что независимые инструменты - плохая идея. Они говорят мне, что интегрированный набор инструментов одного поставщика - это хорошо.

...