• Component-Based Architecture è una branca dell’ingegneria del software che fornisce un livello più alto di astrazione rispetto ai principi di progettazione orientati agli oggetti.
  • Component-Based architecture non si concentra su questioni come il protocollo di comunicazione e lo stato condiviso.
  • Questa architettura si concentra sulla decomposizione del progetto in componenti logici che contengono eventi, metodi e proprietà.
  • L’architettura basata sui componenti divide il problema in sottoproblemi e ogni problema associato alle partizioni dei componenti.
  • Fornisce un livello più alto di astrazione rispetto ai principi di progettazione orientata agli oggetti.
  • Non si concentra su questioni come i protocolli di comunicazione e lo stato condiviso.

Principi dell’architettura basata sui componenti
principi dell'architettura basata sui componenti
1. Estensibile
Un componente può essere esteso da componenti esistenti per fornire un nuovo comportamento.
2. Sostituibile
I componenti possono essere facilmente sostituiti con altri componenti simili.
3. Incapsulato
I componenti espongono interfacce che permettono al chiamante di usare la sua funzionalità e nascondono i dettagli dei processi interni o qualsiasi variabile interna o stato.
4. Indipendente
I componenti sono indipendenti. Possono essere progettati per avere dipendenze minime da altri componenti.
5. Riutilizzabili
I componenti sono progettati per essere riutilizzati in diversi scenari in diverse applicazioni.
6. Non specifici del contesto
I componenti sono progettati per operare in diversi ambienti e contesti. Informazioni specifiche, come i dati di stato, dovrebbero essere passate al componente invece di essere incluse o accessibili dal componente.
Svantaggi dell’architettura basata sui componenti

  • L’architettura basata sui componenti riduce il costo di sviluppo e manutenzione.
  • È riutilizzabile, il che significa che può essere usata per componenti riutilizzabili per distribuire il costo di sviluppo e manutenzione su diverse applicazioni.
  • Aumenta l’affidabilità dell’intero sistema tramite il riutilizzo.
  • È facile mantenere e aggiornare l’implementazione senza influenzare il resto del sistema.
  • Modifica la complessità con l’uso di un contenitore di componenti e dei suoi servizi.
  • Se le nuove versioni compatibili sono disponibili, è facile sostituire le versioni esistenti senza alcun impatto sugli altri componenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.