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.

Composition​

Building behavior by combining objects rather than inheriting.

Coupling​

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

Dependency injection​

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

Encapsulation​

Hiding internal state and exposing controlled access through methods.

Extrinsic state​

State supplied from the outside so a shared object can stay lightweight. Flyweight separates this from intrinsic state.

Intrinsic state​

Shared state stored inside a flyweight because it is the same across many logical objects.

Polymorphism​

Using a common interface to work with different implementations.

Receiver​

The object that performs the real work behind a Command.

Subject​

The object being observed in the Observer pattern. It notifies dependents when its state changes.