Tipos de frameworks
- Classificação de frameworks de acordo com duas dimensões:
- Como o framework é usado
- Onde o framework é usado
Classificação na Dimensão "Como o Framework é Usado"
- Como introduzir as particularidades da aplicação?
- Inheritance-focused
- Também chamado de white-box ou architecture-driven
- Estende ou modifica funcionalidade pela definição de sub-classes com override de
métodos
- Composition-focused
- Também chamado de black-box ou data-driven
- Usa a funcionalidade já presente no framework
- As coisas internas do framework não podem ser vistas ou alteradas
- Deve-se usar as interfaces fornecidas
- As instanciações e composições feitas determinam as particularidades da aplicação
- No limite, o framework se torna Component-Oriented (COFW)
- Híbridos
- A maioria dos frameworks é inheritance-focused com alguma funcionalidade pronta
(composition-focused)
Classificação na Dimensão "Onde o Framework é Usado"
- Framework de suporte
- Provê serviços de nível de sistema operacional (e não de aplicação)
- Acesso a arquivos
- Computação distribuída
- Device drivers
- São raros
- Não serão considerados aqui
- Framework de aplicação
- Também chamado de framework horizontal
- Encapsula conhecimento ("expertise") aplicável a uma vasta gama de
aplicações
- Resolve apenas uma fatia do problema da aplicação
- Exemplo: framework para construção de interface GUI

- Framework de domínio
- Também chamado de framework vertical
- Encapsula conhecimento ("expertise") aplicável a aplicações pertencendo a
um domínio particular de problema
- Resolve boa parte da aplicação
- Exemplo: Framework para construir aplicações de controle de manufatura

Estruturas de Frameworks
- Uma empresa pode usar vários frameworks para construir suas aplicações
- Alguns podem ser horizontais (abaixo, na figura) e outros verticais (acima, na figura)

frame-3 programa anterior
próxima