[1] O documento descreve os cinco princípios SOLID da programação orientada a objetos: Single Responsibility Principle, Open Closed Principle, Liskov Substitution Principle, Interface Segregation Principle e Dependency Inversion Principle. [2] O Single Responsibility Principle diz que uma classe deve ter uma única responsabilidade. [3] O Open Closed Principle diz que classes devem ser abertas para extensão e fechadas para modificação.