Skip to main content

Glossary

Abstraction

An interface or base type that hides implementation details.

Cohesion

How strongly related the responsibilities of a module are. High cohesion is preferred.

Coupling

The degree of dependency between modules. Lower coupling is preferred.

Composition

Building behavior by combining objects rather than inheriting.

Dependency injection

Supplying dependencies from the outside rather than creating them inside a class.

Encapsulation

Hiding internal state and exposing controlled access through methods.

Polymorphism

Using a common interface to work with different implementations.