Um banco de investimento extrai informações do Ipeadata e a...
As classes inicialmente criadas para solucionar esse problema são as seguintes:
package persistencia;
Qual princípio SOLID é violado no design da solução apresentada?
Comentários
Veja os comentários dos nossos alunos
O princípio SOLID que é violado no design da solução apresentada é o princípio da Responsabilidade Única (Single Responsibility).
De acordo com esse princípio, uma classe deve ter apenas uma razão para mudar. No entanto, no design inicial, a classe responsável por enviar dados aos clientes corporativos do banco de investimento tinha várias responsabilidades: lidar com diferentes formatos (XML, JSON e texto) e gerenciar o envio dos dados. Isso viola o princípio da responsabilidade única, pois há mais de uma razão para alterar essa classe.
Portanto, a alternativa correta é E. Single responsibility.
Gabarito: A
Boa questão, para fazer o cara pensar. Então ali a questão que todas as classes fazem a mesma coisa do ponto de vista de funcionalidade então a Dependência deveria estar numa classe abstrata e não na implementação diretamente, esse é o princípio da inversão de dependência. Logo, deveria existir uma classe abstrata ou interface que tivesse os métodos ali comuns e assim as classes concretas apenas implementam ou herdam da classe. Gabarto letra A.
aproveite e revise:
Single-responsibility: a class should have one and only one reason to change, meaning that a class should have only one job
Open-closed: objects or entities should be open for extension but closed for modification
Liskov Substitution: objects of a superclass shall be replaceable with objects of its subclasses without breaking the application
Interface Segregation: A client should never be forced to implement an interface that it doesn’t use, or clients shouldn’t be forced to depend on methods they do not use
Dependency inversion: Entities must depend on abstractions, not on concretions. It states that the high-level module must not depend on the low-level module, but they should depend on abstractions
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo