Arquitetura de Componentes do Software
Last updated
Last updated
É 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).
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.