Software komponent
En softwarekomponent er en modulær enhed af et softwareprogram med veldefinerede grænseflader og afhængigheder, der gør det muligt at tilbyde eller anmode om et sæt tjenester eller funktionaliteter. Komponent - orienteret programmering (som også kaldes komponent-baseret ) er en gren af software engineering , med vægt på at dekomponere færdige systemer til funktionelle eller logiske komponenter med veldefinerede grænseflader , der bruges til kommunikation mellem komponenter.
Abstraktionsniveauet for komponenter anses for at være højere end for objekter, og derfor deler de ikke en tilstand og kommunikerer ved at udveksle meddelelser, der indeholder data.
Definitioner
En softwarekomponent er et element i et system , der tilbyder en foruddefineret service og er i stand til at kommunikere med andre komponenter, et objekt skrevet i henhold til specifikationer. Det er lige meget hvilken specifikation dette er, så længe objektet overholder specifikationen. Det er kun ved korrekt at overholde denne specifikation , at objektet bliver en komponent og får karakteristika såsom genanvendelighed.
Ifølge OMG
{{ }} I specifikationen [ ]], er det en modulær enhed med veldefinerede grænseflader, som kan udskiftes inden for cont(2011). [ http://www.omg.org/spec/UML/2.4/Superstructure/Beta2/PDF/ OM Superstructure, V. 147.</ref> Således definerer en komponent sin adfærd i form af tilvejebragte og nødvendige grænseflader; og nævnte komponent vil være fuldt udskiftelig med en anden, der overholder de erklærede grænseflader.
UML sætter ingen begrænsninger for komponentgranularitet, så en komponent kan være lige så enkel som en valutaomregner eller så kompleks som et semantisk hjælpesystem.
Ifølge WCOP
Som et resultat af den første Workshop Component Oriented Programming (WCOP) eller "Workshop on Component Oriented Programming" afholdt i 1996 , blev definitionen opfundet: sammensætningsenhed med kontraktligt specificerede grænseflader, med eksplicitte afhængigheder i henhold til den førnævnte kontekst. En softwarekomponent kan implementeres uafhængigt og kan deltage i tredjepartssammensætninger.
Funktioner
Når der er behov for adgang til en komponent, eller når den skal deles mellem forskellige netværk, bruges processer såsom serialisering til at levere komponenten til dens destination.
Genanvendelighed er en vigtig egenskab ved softwarekomponenter af høj kvalitet. En komponent skal designes og implementeres på en sådan måde, at den kan genbruges i mange forskellige programmer.
Det kræver en stor indsats og opmærksomhed at skrive en komponent, der virkelig kan genbruges. Til dette skal komponenten være:
- Fuldt dokumenteret.
- Intensivt testet:
- Den skal være robust og kontrollere gyldigheden af inputs.
- Den skal kunne sende passende fejlmeddelelser.
- Designet med det i tankerne, at det vil blive brugt på uventede måder.
Andre funktioner omfatter:
- være udskiftelige.
- Har defineret grænseflader.
- være sammenhængende.
Implementeringer
Softwarekomponenter er hjørnestenen i forskellige programmeringsparadigmer . Dette har skabt fremkomsten af forskellige specifikationer på markedet, der foreslår måden at bygge, bruge og distribuere komponenter på. Blandt de mest udbredte er:
Standarder
- CORBA ( Common Object Request Broker Architecture ) fra Object Management Group (OMG).
- JavaBean , Servlets og Enterprise JavaBeans fra Oracle .
- OSGi ( Open Services Gateway Initiative ) fra OSGi Alliance .
- Component Object Model (COM), COM+ og Distributed Component Object Model (DCOM) fra Microsoft .
Paradigmer
Softwarekomponenter er nyttige i:
- Komponentorienteret programmering (POC)
- Objektorienteret programmering (OOP)
- Service Oriented Architecture (SOA) [ 1 ]
Nogle specifikationer for komponenter
Se også
Referencer
Eksterne links
- Dette værk indeholder en afledt oversættelse af " Komponentbaseret programmering " fra engelsk Wikipedia, udgivet af dets udgivere under GNU Free Documentation License og Creative Commons Attribution-ShareAlike 3.0 Unported License .
- Komponentorienteret programmering
- Komponentorienteret programmering - Federico de Santa María Tekniske Universitet
- Komponent i UML 2
- Minder fra WCOP'98