Какие бывают типы сцепления?

Связь — это степень взаимодействия между двумя классами или функциями, которая нарушает принцип сокрытия информации. Чем ниже связь, тем более модульной является программа, а это означает, что при дальнейшем изменении функциональности программы необходимо изменять меньше кода. Однако полностью исключить сцепление невозможно; его можно только минимизировать.

Типы связи

1. Связь содержимого: это когда один класс изменяет содержимое другого класса. Например, в C ++ классы друзей могут обращаться к закрытым членам друг друга. Однако преимущество классов друзей заключается в том, что они могут повысить производительность крупномасштабной программы, удалив один уровень взаимодействия.

2. Общая связь: это когда два класса обращаются к одним и тем же общим данным (например, глобальной переменной).

3. Связь управления: когда одна функция управляет потоком другой функции.

  bool foo (int x) {if (x == 0) return false;  else return true;} void bar () {//Вызов foo () путем передачи значения, которое управляет его потоком: foo (1);}  

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

5. Связь данных: когда одна функция передает данные другой функции, которая может использоваться для вычислений. Хотя это довольно часто, передаваемые данные должны иметь одинаковую интерпретацию для двух функций.

6. Связь типа и использования: когда член данных класса B имеет тип класс A .

7. Связь штампа: когда подпись одной из функций класса B имеет класс A в качестве аргумента или типа возвращаемого значения.

  class A {//Код для класса A.}; class B {//Член данных класса A type: Связь типа и использования A var; //Аргумент типа A: связка штампа void calculate (A data) {//Что-нибудь делаем.  }};  

8. Связывание импорта: когда библиотека импортируется для использования внутри программы. Например, когда операторы #include и import используются в C ++ и Java соответственно.

9. Внешний: при взаимодействии с внешней системой.

Оцените статью
nanomode.ru
Добавить комментарий