- Komponentbaserad arkitektur är en gren av programvaruteknik som ger en högre abstraktionsnivå än objektorienterade designprinciper.
- Komponentbaserad arkitektur fokuserar inte på frågor som kommunikationsprotokoll och delat tillstånd.
- Denna arkitektur fokuserar på att dekomponera designen i logiska komponenter som innehåller händelser, metoder och egenskaper.
- Komponentbaserad arkitektur delar upp problemet i delproblem och varje problem är förknippat med komponentpartitioner.
- Den ger en högre abstraktionsnivå än objektorienterade designprinciper.
- Den fokuserar inte på frågor som kommunikationsprotokoll och delat tillstånd.
Principer för komponentbaserad arkitektur
1. Utökningsbar
En komponent kan utökas från befintliga komponenter för att ge nytt beteende.
2. Utbytbar
Komponenter kan lätt ersättas med andra liknande komponenter.
3. Inkapslad
Komponenter exponerar gränssnitt som gör det möjligt för den som anropar komponenten att använda dess funktionalitet och döljer detaljerna i de interna processerna eller eventuella interna variabler eller tillstånd.
4. Oberoende
Komponenter är oberoende. Den kan utformas så att den har minimala beroenden av andra komponenter.
5. Återanvändbara
Komponenter är utformade för att kunna återanvändas i olika scenarier i olika tillämpningar.
6. Inte kontextspecifika
Komponenter är utformade för att fungera i olika miljöer och kontexter. Specifik information, t.ex. tillståndsdata, bör överföras till komponenten i stället för att ingå i eller nås av komponenten.
Fördelar med komponentbaserad arkitektur
- Komponentbaserad arkitektur minskar kostnaderna för utveckling och underhåll.
- Den är återanvändbar vilket innebär att kan användas till återanvändbara komponenter för att sprida utvecklings- och underhållskostnaden över flera applikationer.
- Den ökar tillförlitligheten hos hela systemet genom återanvändning.
- Det är lätt att underhålla och uppdatera implementationen utan att påverka resten av systemet.
- Det ändrar komplexiteten med hjälp av en komponentbehållare och dess tjänster.
- Om de nya kompatibla versionerna finns tillgängliga är det lätt att byta ut de befintliga versionerna utan att påverka de andra komponenterna.