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,
Nessa situação, o princípio de SOLID e o princípio de GRASP que atendem adequadamente aos requisitos mencionados são, respectivamente,