Object oriented design. Kind of programming methodology.
More
.