Signing you in…

Cohesion and Coupling

Every design principle covered in this chapter — SRP, OCP, DRY, High Cohesion, Low Coupling — can ultimately be reduced to two measurable properties of a module: cohesion and coupling. Cohesion measures how strongly related the elements inside a module are to each other. Coupling measures how strongly dependent one module is on another. The goal, stated by Larry Constantine in the 1960s and repeated by every major software engineering authority since, is maximise cohesion and minimise coupling. This lesson makes these concepts precise, classifies their types, gives you tools to measure them, and shows how to use them as a navigation instrument during refactoring.

ℹ️Cohesion and coupling are not binary properties — they exist on spectrums. A module is not simply 'cohesive' or 'not cohesive'; it has a cohesion level from coincidental (worst) to functional (best). Understanding the spectrum is what allows you to prioritize refactoring efforts: not everything is worth fixing, but knowing where you are on the scale tells you the cost.
Content is available with subscription.
Get full access to all courses on the platform for one year with a single payment.
Unlike other platforms that charge per course, here you get everything for one price, and after one year of use there will be no automatic charge for the following year.