Dentro dos bons princípios de projeto e construção de softwa...

Próximas questões
Com base no mesmo assunto
Q873503 Engenharia de Software
Dentro dos bons princípios de projeto e construção de software, a Lei de Démeter diz que “um método deve enviar mensagens somente para objetos a que ele tem acesso direto”. Essa lei tem como objetivo:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - diminuir o acoplamento.

A Lei de Démeter, também conhecida como o princípio do menor conhecimento, é um importante conceito no desenho de software orientado a objetos. Essa lei sugere que um objeto deve ter um conhecimento limitado sobre outros objetos, comunicando-se somente com seus amigos próximos. Isto é, um objeto não deve invocar métodos de um objeto retornado por um dos métodos de um de seus objetos diretos.

O objetivo principal da Lei de Démeter é reduzir o acoplamento entre classes. Acoplamento é uma medida de quão dependentes são as classes entre si. Classes fortemente acopladas resultam em sistemas frágeis, com manutenção difícil e entendimento complicado, pois mudanças em uma classe podem afetar muitas outras classes.

Ao seguir essa lei, a dependência entre objetos é minimizada, o que contribui para um sistema mais modular e flexível. Cada módulo ou classe tem um conhecimento limitado do sistema, promovendo uma maior facilidade na manutenção e na refatoração do código. Portanto, a Lei de Démeter é diretamente relacionada com a promoção de um baixo acoplamento dentro do design de software.

As demais alternativas não são consistentes com os princípios da Lei de Démeter. Aumentar a coesão é um objetivo desejável, mas não é o foco desta lei específica. Facilitar a criação de dependência entre as classes vai na direção oposta do que a Lei de Démeter propõe. Aumentar a quantidade de casos de teste não é um objetivo direto dessa lei, embora um design modular com baixo acoplamento possa facilitar a testabilidade do software.

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

b-

envio de mensagens - comunicação entre classes. O conceito da questao é encapsulamento, o qual determina que um objeto so pode expor as partes que detêm interesse aos objetos comunicantes, o que significa usar visibilidade private para delcarar atributos e acessa-los com getters & setters. Isso promove independencia entre as classes e facilita a manutenção do sistema visto que basta alterar somente a classe em questao em vez de todas que comunicam com ela

Coesão: a classe deve ter função específica/única.

Acoplamento: o quanto uma classe depende da outra para funcionar.

Obs: O ideal seria ter um sistema com alta coesão e baixo acoplamento. No entanto, isso não quer dizer que um sistema que possui baixa coesão tem alto acoplamento. Esses conceitos são independentes.

Bons estudos.

Se o método A deve-se comunica com o B, existem um acoplamento um mínimo possível, de nível 1 para 1, então. baixo acoplamento. Agora se A comunica com B, C para chegar no D mais acoplamento terá.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo