Resumo de Engenharia de Software - Frameworks

Frameworks

Frameworks em Engenharia de Software para Concursos

Frameworks são estruturas pré-definidas que oferecem funcionalidades genéricas para acelerar o desenvolvimento de software, seguindo boas práticas e padrões de projeto.

Principais Características

  • Reutilização de código: Evita retrabalho com componentes prontos
  • Inversão de controle: Fluxo controlado pelo framework (Hollywood Principle)
  • Extensibilidade: Permite customização via herança ou composição
  • Padronização: Define arquitetura e convenções para o projeto

Tipos de Frameworks

  • Horizontal (infraestrutura): Aplicável a diversos domínios (ex: Spring, .NET)
  • Vertical (específico): Focado em domínio particular (ex: Django para web)

Vantagens

  • Redução de tempo de desenvolvimento
  • Maior confiabilidade (componentes testados)
  • Facilita manutenção
  • Documentação e comunidade robustas

Desvantagens

  • Curva de aprendizagem
  • Possível overhead para projetos simples
  • Dependência do framework

Exemplos Relevantes

  • Web: Angular, React, Vue.js
  • Backend: Spring Boot, Express, Django
  • Testes: JUnit, Selenium, Jest
  • ORM: Hibernate, Entity Framework