Зацепление (программирование): различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
NapalmBot (обсуждение | вклад) м Удаление пустых технических разделов согласно ВП:Ф-О. |
Nichego (обсуждение | вклад) →Преамбула: Перепутаны понятия. Видимо, опечатка. |
||
Строка 1: | Строка 1: | ||
'''Зацепле́ние''', '''сцепле́ние''', '''сопряже́ние'''{{sfn|Макконнел|2010}} ({{lang-en|coupling}}) — способ и степень взаимозависимости между [[Модуль (программирование)|программными модулями]]<ref name="ISO_24765">ISO/IEC/IEEE 24765-2010 Systems and software engineering — Vocabulary</ref>; сила взаимосвязей между модулями<ref name="ISO_TR_19759">ISO/IEC TR 19759:2005, Software Engineering — Guide to the Software Engineering Body of Knowledge (SWEBOK)</ref>; мера того, насколько связаны подпрограммы или модули<ref name="ISO_24765"/>. |
'''Зацепле́ние''', '''сцепле́ние''', '''сопряже́ние'''{{sfn|Макконнел|2010}} ({{lang-en|coupling}}) — способ и степень взаимозависимости между [[Модуль (программирование)|программными модулями]]<ref name="ISO_24765">ISO/IEC/IEEE 24765-2010 Systems and software engineering — Vocabulary</ref>; сила взаимосвязей между модулями<ref name="ISO_TR_19759">ISO/IEC TR 19759:2005, Software Engineering — Guide to the Software Engineering Body of Knowledge (SWEBOK)</ref>; мера того, насколько связаны подпрограммы или модули<ref name="ISO_24765"/>. |
||
Зацепление обычно противопоставляется [[Связность (программирование)|связности]] ({{lang-en|cohesion}}). Слабое зацепление часто сочетается с сильной связностью и наоборот. [[Метрика программного обеспечения|Метрики]] зацепления и связности были придуманы [[:en:Larry Constantine|Ларри Константином]], изначальным разработчиком структурного проектирования<ref>W. Stevens, G. Myers, L. Constantine, «Structured Design», IBM Systems Journal, 13 (2), 115—139, 1974.</ref>, который был также ранним сторонником таких концепций (см. также [[:en:Structured Systems Analysis and Design Methodology|SSADM]]). |
Зацепление обычно противопоставляется [[Связность (программирование)|связности]] ({{lang-en|cohesion}}). Слабое зацепление часто сочетается с сильной связностью и наоборот. [[Метрика программного обеспечения|Метрики]] зацепления и связности были придуманы [[:en:Larry Constantine|Ларри Константином]], изначальным разработчиком структурного проектирования<ref>W. Stevens, G. Myers, L. Constantine, «Structured Design», IBM Systems Journal, 13 (2), 115—139, 1974.</ref>, который был также ранним сторонником таких концепций (см. также [[:en:Structured Systems Analysis and Design Methodology|SSADM]]). Сильное зацепление часто является признаком хорошо структурированной компьютерной системы и признаком хорошего проекта, и, когда она комбинируется со слабой связностью, соответствует общим показателям хорошей читаемости и сопровождаемости. |
||
Слабое зацепление является одним из [[шаблон проектирования|шаблонов]] [[GRASP]] [[Ларман, Крэйг|Крэйга Лармана]]<ref>{{книга |
Слабое зацепление является одним из [[шаблон проектирования|шаблонов]] [[GRASP]] [[Ларман, Крэйг|Крэйга Лармана]]<ref>{{книга |
Версия от 08:37, 12 мая 2016
Зацепле́ние, сцепле́ние, сопряже́ние[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.
Это заготовка статьи по информатике. Помогите Википедии, дополнив её. |