← Questões de Engenharia de Software

Engenharia de Software · FGV · 2023

Questão comentada de Engenharia de Software

A divisão em camadas da arquitetura MVC permitiu o uso de diversos padrões de projeto de forma simples, e, com toda a padronização obtida, aliada a ferramentais como injeção de dependências e inversão de controle, ocorreu o surgimento de diversos frameworks, voltados para as diferentes camadas da arquitetura. Para a camada Model, um padrão essencial é o:

Gabarito: C

Na arquitetura MVC, o sistema se separa em três partes: Model, View e Controller. A grande sacada é tirar cada responsabilidade do lugar errado, deixando o código mais organizado, mais reutilizável e mais fácil de manter. Em prova, isso costuma aparecer junto com padrões de projeto que “encaixam” naturalmente em cada camada. Na camada Model, você cuida da regra de negócio e do acesso aos dados. Por isso, o padrão mais cobrado e mais essencial ali é o DAO (Data Access Object), que isola a aplicação da forma como os dados são persistidos ou recuperados. Em outras palavras: o Model fala com os dados sem precisar saber se eles vêm de banco, arquivo ou outro lugar. Isso combina muito com frameworks e com a ideia de injeção de dependência. Já os outros padrões da lista são típicos de outras partes da arquitetura. Front Controller é mais ligado à entrada única de requisições, normalmente na camada de controle. Observer costuma aparecer na comunicação entre objetos, inclusive em mecanismos de atualização da interface. Facade simplifica o acesso a subsistemas, e Composite organiza estruturas em árvore. Portanto, o gabarito C está correto porque DAO é o padrão essencial associado à camada Model.

Continue treinando

Questões relacionadas