- Component-Based Architecture is een tak van software engineering die een hoger abstractieniveau biedt dan objectgeoriënteerde ontwerpprincipes.
- Component-Based architecture richt zich niet op zaken als communicatieprotocol en gedeelde toestand.
- Deze architectuur richt zich op de decompositie van het ontwerp in logische componenten die gebeurtenissen, methoden en eigenschappen bevatten.
- Component-gebaseerde architectuur verdeelt het probleem in deelproblemen en elk probleem geassocieerd met componentpartities.
- Het biedt een hoger abstractieniveau dan objectgeoriënteerde ontwerpprincipes.
- Het richt zich niet op zaken als communicatieprotocollen en gedeelde staat.
Principes van component-gebaseerde architectuur
1. Uitbreidbaar
Een component kan worden uitgebreid met bestaande componenten om nieuw gedrag te verkrijgen.
2. Vervangbaar
Componenten kunnen gemakkelijk worden vervangen door andere, soortgelijke componenten.
3. Ingekapseld
Componenten stellen interfaces open die de aanroeper in staat stellen de functionaliteit te gebruiken en verbergen de details van de interne processen of interne variabelen of toestand.
4. Onafhankelijk
Componenten zijn onafhankelijk. Ze kunnen zo worden ontworpen dat ze zo min mogelijk afhankelijk zijn van andere componenten.
5. Herbruikbaar
Componenten zijn ontworpen om te worden hergebruikt in verschillende scenario’s in verschillende toepassingen.
6. Niet Contextspecifiek
Componenten zijn ontworpen om te functioneren in verschillende omgevingen en contexten. Specifieke informatie, zoals toestandsgegevens, moeten aan de component worden doorgegeven in plaats van te worden opgenomen in of benaderd door de component.
Voordelen van Component-gebaseerde architectuur
- Component-gebaseerde architectuur verlaagt de kosten van ontwikkeling en onderhoud.
- Het is herbruikbaar, wat betekent dat kan worden gebruikt om herbruikbare componenten om de ontwikkeling en onderhoud kosten te spreiden over verschillende toepassingen.
- Het verhoogt de betrouwbaarheid van het hele systeem via hergebruik.
- Het is gemakkelijk te onderhouden en update van de implementatie zonder dat de rest van het systeem.
- Het wijzigt de complexiteit met het gebruik van een component container en zijn diensten.
- Als de nieuwe compatibele versies beschikbaar zijn dan is het gemakkelijk om de bestaande versies te vervangen zonder enige impact op de andere componenten.