Coupling

How much one piece of code depends on another; loose coupling is the goal.

What is Coupling?

Coupling is how much one piece of code depends on the details of another. Loose coupling is the goal: you can change one class without breaking the others.

// Tightly coupled: OrderService can only ever use SmtpEmailer
private readonly SmtpEmailer emailer = new();

// Loosely coupled: any IEmailer will do
private readonly IEmailer emailer;

Level: Journeyman · More OOP terms at this level

Updated