Object-oriented design

Design that models a system as interacting objects with defined responsibilities, using ideas such as encapsulation and inheritance.

Scheme

Broader terms