Logo Passei Direto
Buscar

Princípios SOLID na Programação

User badge image

Enviado por Douglas Rolim em

páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Prova 12 - Princípios SOLID 
Questão 1 - Princípio da Responsabilidade Única (SRP) 
O princípio da responsabilidade única estabelece que uma classe deve ter apenas uma 
razão para mudar. Qual alternativa exemplifica a violação desse princípio? 
A) Uma classe que manipula dados do usuário e também gera relatórios sobre esses 
dados 
B) Uma classe que contém apenas métodos de cálculo matemático 
C) Uma classe que implementa uma interface e delega todas as ações a outras classes 
especializadas 
D) Uma classe que realiza consultas ao banco de dados e retorna os resultados 
E) Uma classe que segue a inversão de dependência e gerencia suas próprias 
instâncias 
Questão 2 - Princípio Aberto/Fechado (OCP) 
O princípio aberto/fechado afirma que uma entidade de software deve estar aberta 
para extensão, mas fechada para modificação. Qual das alternativas a seguir 
representa uma aplicação correta desse princípio? 
A) Alterar diretamente uma classe existente para adicionar novas funcionalidades 
B) Criar novas classes que herdam de uma classe-base e adicionam comportamentos 
específicos 
C) Modificar um método privado para incluir um novo parâmetro sem afetar outras 
classes 
D) Excluir partes do código original para simplificar sua lógica de execução 
E) Acoplar todas as funcionalidades a uma única classe para evitar múltiplas 
alterações 
Questão 3 - Princípio da Substituição de Liskov (LSP) 
O princípio da substituição de Liskov preconiza que uma subclasse deve poder 
substituir sua superclasse sem alterar o comportamento esperado do sistema. Qual 
alternativa abaixo exemplifica uma violação desse princípio? 
A) Uma subclasse altera o tipo de retorno de um método da superclasse, tornando-o 
incompatível 
B) Uma subclasse adiciona métodos extras, mas mantém o comportamento original 
dos métodos herdados 
C) Uma subclasse respeita todas as assinaturas dos métodos da superclasse sem 
modificações 
D) Uma subclasse estende a funcionalidade sem alterar a estrutura lógica da 
superclasse 
E) Uma subclasse apenas implementa interfaces sem modificar o comportamento 
esperado 
Questão 4 - Princípio da Segregação de Interfaces (ISP) 
O princípio da segregação de interfaces estabelece que classes não devem ser 
forçadas a implementar métodos que não utilizam. Qual abordagem respeita esse 
princípio? 
A) Criar interfaces menores e específicas para cada tipo de funcionalidade 
B) Definir uma única interface grande com diversos métodos, permitindo maior 
flexibilidade 
C) Implementar todas as funcionalidades em uma única classe sem separação lógica 
D) Criar classes com múltiplas dependências para atender a diferentes necessidades 
E) Extender uma classe base e sobrescrever métodos desnecessários para evitar erros 
Questão 5 - Princípio da Inversão de Dependência (DIP) 
O princípio da inversão de dependência recomenda que classes dependam de 
abstrações e não de implementações concretas. Qual alternativa exemplifica 
corretamente esse princípio? 
A) Utilizar dependências concretas dentro de uma classe sem injeção de dependência 
B) Instanciar diretamente objetos dentro de métodos sem utilizar abstrações 
C) Declarar variáveis do tipo interface e atribuir implementações específicas a elas 
D) Criar todas as dependências dentro da classe para evitar acoplamento externo 
E) Excluir completamente qualquer tipo de abstração para simplificar o código 
Questão 6 - Aplicação dos Princípios SOLID 
Qual dos seguintes benefícios pode ser alcançado ao seguir os princípios SOLID na 
programação? 
A) Código mais acoplado e difícil de reutilizar 
B) Maior facilidade na manutenção e escalabilidade do software 
C) Menor organização do código devido à segmentação excessiva 
D) Aumento da complexidade desnecessária no desenvolvimento 
E) Redução da modularidade e flexibilidade do sistema 
Questão 7 - Impacto do SRP em Projetos Grandes 
Em sistemas grandes, como o princípio da responsabilidade única pode ajudar no 
desenvolvimento? 
A) Evita que classes tenham múltiplas responsabilidades, facilitando a manutenção 
B) Permite que todas as funcionalidades sejam agrupadas em uma única classe 
C) Reduz o número de classes no projeto para melhorar a legibilidade 
D) Aumenta o nível de acoplamento entre os componentes do sistema 
E) Obriga o programador a utilizar herança para garantir compatibilidade 
Questão 8 - OCP em Bibliotecas e Frameworks 
Por que o princípio OCP é importante em bibliotecas e frameworks de software? 
A) Garante que novas funcionalidades possam ser adicionadas sem modificar o código 
original 
B) Exige que todas as classes sejam completamente reescritas para incorporar 
mudanças 
C) Impede que os desenvolvedores utilizem herança para especializar 
comportamentos 
D) Reduz a capacidade de extensão de componentes reutilizáveis 
E) Implica que todas as funções devem ser públicas para facilitar a modificação 
Questão 9 - ISP e Interfaces de Serviços Web 
Como o princípio ISP pode ser aplicado ao design de serviços web? 
A) Criando APIs menores e específicas para diferentes funcionalidades 
B) Desenvolvendo uma única API grande para atender a todas as necessidades do 
sistema 
C) Exigindo que todos os serviços implementem métodos desnecessários para 
compatibilidade 
D) Forçando clientes a utilizar apenas um conjunto fixo de operações 
E) Eliminando a necessidade de separação lógica entre serviços diferentes 
Questão 10 - DIP e Arquitetura Limpa 
No contexto da arquitetura limpa, como o princípio DIP contribui para um código mais 
robusto? 
A) Incentiva o uso de dependências concretas, tornando o sistema mais previsível 
B) Facilita o acoplamento entre módulos, garantindo maior interdependência 
C) Permite a substituição fácil de implementações sem afetar o código principal 
D) Dificulta a separação lógica entre componentes do sistema 
E) Exige que todas as classes dependam diretamente umas das outras 
 
 
	Prova 12 - Princípios SOLID
	Questão 1 - Princípio da Responsabilidade Única (SRP)
	Questão 2 - Princípio Aberto/Fechado (OCP)
	Questão 3 - Princípio da Substituição de Liskov (LSP)
	Questão 4 - Princípio da Segregação de Interfaces (ISP)
	Questão 5 - Princípio da Inversão de Dependência (DIP)
	Questão 6 - Aplicação dos Princípios SOLID
	Questão 7 - Impacto do SRP em Projetos Grandes
	Questão 8 - OCP em Bibliotecas e Frameworks
	Questão 9 - ISP e Interfaces de Serviços Web
	Questão 10 - DIP e Arquitetura Limpa

Mais conteúdos dessa disciplina

Respostas disponíveis nesse material

Mais conteúdos dessa disciplina