SOLID Flashcards
S
Single responsibility principle
O
Open/closed principle
L
Liskov substitution principle
I
Interface segregation principle
D
Dependency inversion principle
A classe seguinte fere qual princípio do SOLID? $this->getTitle(), 'date' => $this->getDate(), ]; }
public function formatJson() { return json_encode($this->getContents()); } }
Single responsibility principle
A classe seguinte irá ferir qual princípio SOLID ao ser necessário implementar um novo método?
Open/closed principle
Do que se trata o Single responsibility principle?
O primeiro princípio do SOLID basicamente diz que uma classe deveria ter exclusivamente uma responsabilidade.
Diz que quando temos uma classe que não atenda esse princípio, devemos dividi-la em mais classes até que isso ocorra.
Do que se trata o Open/closed principle?
O segundo princípio diz que você deve ser capaz de estender um comportamento de uma classe, sem modificá-lo, a classe está aberta para expansão e fechado para alteração.
Sempre que precisarmos criar um novo recurso, devemos criar uma nova classe que implemente esse recurso.
Do que se trata o Liskov substitution principle?
Resumindo, quando temos uma classe B e classe C que estende da classe A, deveríamos poder trocar a classe B pelo classe A, ou pela classe C dentro do projeto sem quebrar o código.
Do que se trata o Interface segregation principle?
O quarto princípio diz que muitas interfaces específicas são melhores que uma única interface para não forçar uma classe a implementar um método que ela não vai usar. Precisamos criar pequenas interfaces mais específicas ao invés de termos uma única genérica.
Do que se trata o Dependency inversion principle?
O último e quinto princípio diz para que uma classe dependa de uma abstração e não de uma implementação.