Зацепление (программирование)

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Евгений Мирошниченко (обсуждение | вклад) в 14:26, 12 мая 2016 (отмена правки 78307700 участника Nichego (обс) всё правильно). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Зацепле́ние, сцепле́ние, сопряже́ние[1] (англ. coupling) — способ и степень взаимозависимости между программными модулями[2]; сила взаимосвязей между модулями[3]; мера того, насколько связаны подпрограммы или модули[2].

Зацепление обычно противопоставляется связности (англ. cohesion). Слабое зацепление часто сочетается с сильной связностью и наоборот. Метрики зацепления и связности были придуманы Ларри Константином, изначальным разработчиком структурного проектирования[4], который был также ранним сторонником таких концепций (см. также SSADM). Слабое зацепление часто является признаком хорошо структурированной компьютерной системы и признаком хорошего проекта, и, когда она комбинируется с сильной связностью, соответствует общим показателям хорошей читаемости и сопровождаемости.

Слабое зацепление является одним из шаблонов GRASP Крэйга Лармана[5].

Типы зацепления

Концептуальная модель зацепления

Типы зацепления, согласно стандарту ISO/IEC/IEEE 24765-2010, включают:

  • зацепление по общей области (common-environment coupling);
  • зацепление по содержимому (content coupling);
  • зацепление по управлению (control coupling);
  • зацепление по данным (data coupling);
  • смешанное зацепление (hybrid coupling);
  • патологическое зацепление (pathological coupling)[2].

См. также

Примечания

  1. Макконнел, 2010.
  2. 1 2 3 ISO/IEC/IEEE 24765-2010 Systems and software engineering — Vocabulary
  3. ISO/IEC TR 19759:2005, Software Engineering — Guide to the Software Engineering Body of Knowledge (SWEBOK)
  4. W. Stevens, G. Myers, L. Constantine, «Structured Design», IBM Systems Journal, 13 (2), 115—139, 1974.
  5. Philip A. Laplante, Philip A. Laplante. What Every Engineer Should Know about Software Engineering. — CRC Press, 2007. — P. 105–106. — ISBN 978-1-4200-0674-2.

Литература

Макконнелл, Стив. Совершенный код = Code Complete. — 2-е издание. — М.: Русская редакция, 2010. — С. 139. — 896 с. — (Мастер-класс). — ISBN 978-5-7502-0064-1.