Questão nº 66
Questão de Tecnologia da Informação · FGV ALESC 2024 (nº 66)
A Clean Architecture (ou arquitetura limpa), criada por Robert C. Martin, considera como objetivo
- Ana arquitetura de software, padronizar e organizar o código desenvolvido, favorecer a sua reusabilidade, assim como a dependência de tecnologia.
- Bfornecer aos desenvolvedores uma maneira de organizar o código de forma que generalize a lógica de negócios, mantendo-o separado do mecanismo de entrega e dependente do agente externo.
- Cproporcionar independência de interface do usuário e independência de qualquer agente externo, com exceçãoo da dependência de banco de dados específico.
- Dna arquitetura de software, minimizar os recursos humanos necessários para construir e manter o sistema necessário. (alternativa correta)
- Econfigurar as dependências de cada camada sempre em direção a periferia, tendo o core totalmente protegido de qualquer interferência externa ou interna.
Resposta comentada
Gabarito Alternativa D
A Clean Architecture é uma abordagem para organizar o código de um sistema de software de forma que ele seja fácil de entender, testar e mudar, mantendo a lógica de negócio central independente de detalhes técnicos externos. Seu foco é criar sistemas duradouros e adaptáveis.
(A) Incorreta: A Clean Architecture busca a independência de tecnologia, e não a dependência dela. Padronizar e organizar são meios, não o objetivo final.
(B) Incorreta: Embora a Clean Architecture separe a lógica de negócios do mecanismo de entrega, ela busca a independência do agente externo, e não que a lógica de negócios seja dependente dele. Essa é a armadilha: a primeira parte está correta, mas a última frase a invalida.
(C) Incorreta: A Clean Architecture preza pela independência total de qualquer agente externo, incluindo o banco de dados específico. A exceção mencionada torna a alternativa incorreta.
(D) Correta: O objetivo final de qualquer boa arquitetura de software, incluindo a Clean Architecture, é entregar valor de negócio. Ao tornar o sistema mais fácil de construir, testar, manter e evoluir (devido à sua flexibilidade e independência), ela indiretamente minimiza o tempo e o esforço (recursos humanos) necessários para essas tarefas ao longo do ciclo de vida do software.
(E) Incorreta: As dependências na Clean Architecture devem sempre apontar para dentro, ou seja, as camadas externas (periferia) dependem das camadas internas (core), e não o contrário.
Fonte: FGV ALESC 2024 Analista Legislativo III - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.