O SOLID é um acrônimo em inglês para cinco princípios de pro...
Coluna 1 1. Single Responsibility Principle (Princípio de responsabilidade única). 2. Open-Closed Principle (Princípio aberto/fechado). 3. Liskov Substitution Principle (Princípio de substituição de Liskov). 4. Interface Segregation Principle (Princípio de segregação de interface). 5. Dependency Inversion Principle (Princípio de inversão de dependência).
Coluna 2 ( ) Classe não deve ser obrigada a implementar métodos e interfaces que não serão utilizadas. ( ) Depende de abstrações e não de implementações. ( ) Uma classe deve ter uma e apenas uma razão para mudar. ( ) Objetos devem estar disponíveis para extensão, mas fechados para modificação. ( ) Uma subclasse deve ser substituível por sua superclasse.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D. Agora vamos entender o porquê, analisando cada um dos princípios SOLID e associando-os às suas respectivas descrições:
- Interface Segregation Principle (Princípio de segregação de interface): Este princípio afirma que uma classe não deve ser forçada a implementar interfaces e métodos que não serão utilizados. É uma maneira de evitar classes "gordas" ou "inchadas" que carregam funcionalidades que não são pertinentes ao seu propósito. Portanto, na descrição da Coluna 2, a frase que melhor se encaixa é "Classe não deve ser obrigada a implementar métodos e interfaces que não serão utilizadas."
- Dependency Inversion Principle (Princípio de inversão de dependência): Este princípio orienta que módulos de alto nível não devem depender de módulos de baixo nível, mas ambos devem depender de abstrações. Além disso, abstrações não devem depender de detalhes, mas detalhes devem depender de abstrações. Isso significa que o design deve ser orientado por interfaces e não pelas implementações concretas. A frase correspondente na Coluna 2 é "Depende de abstrações e não de implementações."
- Single Responsibility Principle (Princípio de responsabilidade única): Este princípio sugere que uma classe deve ter um, e apenas um, motivo para mudar. Isso significa que a classe deve ter apenas uma responsabilidade, promovendo a coesão e facilitando a manutenção do código. A descrição que se alinha a este princípio é "Uma classe deve ter uma e apenas uma razão para mudar."
- Open-Closed Principle (Princípio aberto/fechado): O princípio postula que entidades de software (classes, módulos, funções, etc.) devem estar abertas para extensão, mas fechadas para modificação. Isso significa que o comportamento de uma entidade pode ser estendido sem alterar o seu código fonte. A frase que combina com este princípio é "Objetos devem estar disponíveis para extensão, mas fechados para modificação."
- Liskov Substitution Principle (Princípio de substituição de Liskov): Este princípio afirma que objetos de uma superclasse devem ser substituíveis por objetos de subclasses sem quebrar a aplicação. Isso garante a substituibilidade e promove um design robusto. A descrição correspondente é "Uma subclasse deve ser substituível por sua superclasse."
Com base nessa explicação, podemos então justificar a resposta da alternativa D, que relaciona corretamente os princípios SOLID às suas definições e na ordem dada pela Coluna 2.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Single Responsibility Principle: Uma classe deve ter uma e apenas uma razão para mudar.
Open-Closed Principle: Objetos devem estar disponíveis para extensão, mas fechados para modificação.
Liskov Substitution Principle: Uma subclasse deve ser substituível por sua superclasse.
Interface Segregation Principle: Classe não deve ser obrigada a implementar métodos e interfaces que não serão utilizadas.
Dependency Inversion Principle: Depende de abstrações e não de implementações.
Portanto, a ordem correta de preenchimento dos parênteses, de cima para baixo, é:
D) 4 – 5 – 1 – 2 – 3.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo