Зацепление (программирование)
Зацепле́ние, сцепле́ние, сопряже́ние[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].
См. также
Примечания
- ↑ Макконнел, 2010.
- ↑ 1 2 3 ISO/IEC/IEEE 24765-2010 Systems and software engineering — Vocabulary
- ↑ ISO/IEC TR 19759:2005, Software Engineering — Guide to the Software Engineering Body of Knowledge (SWEBOK)
- ↑ W. Stevens, G. Myers, L. Constantine, «Structured Design», IBM Systems Journal, 13 (2), 115—139, 1974.
- ↑ 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.
Это заготовка статьи по информатике. Помогите Википедии, дополнив её. |