Arquitetura de Componentes do Software

Componente

É normal dividir sistemas complexos em subsistemas mais geríveis.

O componente é uma peça substituível, reusável de um sistema maior, cujos detalhes de implementação são abstraídos.

A funcionalidade de um componente é descrita por um conjunto de interfaces fornecidos.

Para além de implementar, o componente pode requerer funcionalidades de outros.

Ao contrário do package, o componente é uma peça tangível da solução (e.g.: ficheiro, arquivo).

Os componentes são implementados com tecnologia concreta.

Propriedades desejáveis:

  • Encapsulamento (da estrutura interna),

  • Reutilizável (em vários projetos),

  • Substituível.

Candidatos naturais:

  • Aspetos recorrentes em vários projetos,

  • Módulos que se podem obter pré-feitos ou disponibilizar,

  • Módulos definidos para ir de encontro às regras dos ambientes de execução (e.g.: módulos para application servers).

Solução modular com componentes

Com os componentes, pretende-se arquiteturas com baixo “coupling”.

A exposição da funcionalidade através de interfaces ajuda a separar o contrato da implementação.

Um modelo igual, mas com diferente notação.

Noção "caixa fechada" / "caixa aberta"

Last updated