O SOLID é um acrônimo em inglês para cinco princípios de pro...

Próximas questões
Com base no mesmo assunto
Q2172156 Engenharia de Software
O SOLID é um acrônimo em inglês para cinco princípios de projeto que possuem o objetivo de fazer programas mais compreensíveis, flexíveis e sustentáveis. O acrônimo SOLID condensa cinco princípios fundamentais para a concepção de objetos que respondem aos problemas que afetam a escalabilidade e a longevidade de um sistema. Relativamente aos princípios e suas descrições, relacione a Coluna 1 à Coluna 2.
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, é:
Alternativas

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