Sequential coupling
Design issue in object-oriented programming
In object-oriented programming, sequential coupling (also known as temporal coupling) is a form of coupling where a class requires its methods to be called in a particular sequence. This may be an anti-pattern, depending on context.
Methods whose name starts with Init, Begin, Start, etc. may indicate the existence of sequential coupling.
Using a car as an analogy, if the user steps on the gas without first starting the engine, the car does not crash, fail, or throw an exception - it simply fails to accelerate.
Sequential coupling can be refactored with the template method pattern to overcome the problems posed by the usage of this anti-pattern.
Sources and credits
This article is adapted from the Wikipedia article “Sequential coupling”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.