- Arquitetura Baseada em Componentes é um ramo da engenharia de software que fornece um nível mais alto de abstração do que os princípios de design orientado a objetos.
- Arquitetura Baseada em Componentes não foca em questões como protocolo de comunicação e estado compartilhado.
- Esta arquitetura foca na decomposição do design em componentes lógicos que contêm eventos, métodos e propriedades.
- A arquitectura baseada em componentes divide o problema em sub-problemas e cada problema associado a partições de componentes.
- Propõe um nível de abstracção superior aos princípios de design orientado a objectos.
- Não foca em questões como protocolos de comunicação e estado partilhado.
>
>
>
Princípios da arquitectura baseada em componentes
1. Extensível
Um componente pode ser estendido dos componentes existentes para fornecer novo comportamento.
2. Substituível
Componentes podem ser facilmente substituídos por outros componentes similares.
3. Encapsulado
Componentes expõe interfaces que permitem ao chamador usar sua funcionalidade e esconde os detalhes dos processos internos ou qualquer variável interna ou estado.
4. Independente
Componentes são independentes. Pode ser desenhado para ter dependências mínimas de outros componentes.
5. Reutilizáveis
Componentes são projetados para serem reutilizados em diferentes cenários em diferentes aplicações.
6. Não Específicos de Contexto
Componentes são projetados para operar em diferentes ambientes e contextos. Informações específicas como dados de estado, devem ser passadas para o componente em vez de serem incluídas ou acessadas pelo componente.
Vantagens da arquitetura baseada em componentes
- A arquitetura baseada em componentes reduz o custo de desenvolvimento e manutenção.
- É reutilizável, o que significa que pode ser usado para reutilizar componentes para distribuir o custo de desenvolvimento e manutenção por várias aplicações.
- Aumentar a fiabilidade de todo o sistema através da reutilização.
- É fácil manter e actualizar a implementação sem afectar o resto do sistema.
- Modifica a complexidade com o uso de um container de componentes e seus serviços.
- Se as novas versões compatíveis estão disponíveis, então é fácil substituir as versões existentes sem qualquer impacto sobre os outros componentes.