Imagem de fundo

Em determinado projeto de software orientado a objetos, um desenvolvedor deve implemen...

Em determinado projeto de software orientado a objetos, um desenvolvedor deve implementar um sistema que proteja partes do código de variações e mudanças frequentes em outros componentes, mantendo um baixo acoplamento entre as classes. Ao mesmo tempo, deseja-se que módulos de alto nível não dependam diretamente de módulos de baixo nível, mas que ambos dependam de abstrações.


Nessa situação, o princípio de SOLID e o princípio de GRASP que atendem adequadamente aos requisitos mencionados são, respectivamente,


A

o princípio da substituição de Liskov e o princípio de indireção.


B

o princípio aberto-fechado e o princípio de alta coesão.


C

o princípio da inversão de dependência e o princípio de variações protegidas.


D

o princípio da responsabilidade única e o princípio especialista.


E

o princípio da segregação de interfaces e o princípio criador.