Coupling in software is a term describing the degree of dependency between two entities
It’s a measure of how much one entity ‘needs to know’, or ‘assumes’ about the other. In another words how likely is changing one of them to affect the other.
Important techniques to limit coupling in software: