---
title: "Последовательная связанность"
type: "antipattern"
slug: "sequential-coupling"
url: "http://localhost:3000/ru/antipatterns/sequential-coupling.md"
description: "Проблема проектирования в объектно-ориентированном программировании"
---
# Последовательная связанность

> Проблема проектирования в объектно-ориентированном программировании

В [объектно-ориентированном программировании](https://en.wikipedia.org/wiki/Object-oriented%5Fprogramming "Object-oriented programming") **последовательная связанность** (также известная как **временная связанность**) — это форма [связанности](https://en.wikipedia.org/wiki/Coupling%5F%28computer%5Fprogramming%29 "Coupling (computer programming)"), при которой [класс](https://en.wikipedia.org/wiki/Class%5F%28computer%5Fscience%29 "Class (computer science)") требует, чтобы его [методы](https://en.wikipedia.org/wiki/Method%5F%28computer%5Fscience%29 "Method (computer science)") вызывались в определённой последовательности. В зависимости от контекста это может быть [антипаттерном](https://en.wikipedia.org/wiki/Anti-pattern "Anti-pattern").

Методы, имена которых начинаются с Init, Begin, Start и т. п., могут указывать на наличие последовательной связанности.

Если воспользоваться [аналогией с автомобилем](https://en.wikipedia.org/wiki/Car%5Fanalogy "Car analogy"): когда пользователь жмёт на газ, не запустив сначала двигатель, машина не ломается, не отказывает и не выбрасывает исключение — она просто не разгоняется.

**Последовательную связанность** можно отрефакторить с помощью [шаблонного метода](https://en.wikipedia.org/wiki/Template%5Fmethod%5Fpattern "Template method pattern"), чтобы преодолеть проблемы, возникающие из-за использования этого [антипаттерна](https://en.wikipedia.org/wiki/Anti-pattern "Anti-pattern").
