SOLID Principles

A set of five object-oriented design principles for building robust and maintainable software systems.