Temporal Coupling

Learn about temporal coupling with a simple coding example.

What’s temporal coupling?

Temporal coupling deters code-readability. It occurs whenever a class’s design is such that two or more of its methods follow an invocation order that closely binds the result of a method call to that of the one that directly follows it. Class setters are enforcers of this anti-pattern.

Problem scenario

Take a close look at the snippet below.

Press + to interact
<?php
$calculator = new PriceCalculator();
$calculator->updateCurrencyRates([
'usd' => 1.25,
'ugx' => 3.2
]);
$price = $calculator->computePrice([
'lapel pin' => 8,
'notebook' => 14
]);

The invocation order in the snippet ...