SOLID Principles - A set of five design principles for writing maintainable, flexible, and scalable object-oriented software.