Komponentorienteret programmering ( eng. komponentorienteret programmering, COP ) er et programmeringsparadigme , der i det væsentlige bygger på begrebet en komponent - et uafhængigt modul af programmets kildekode , designet til genbrug og udrulning og implementeret i form af en række forskellige af sprogkonstruktioner (for eksempel " klasser " i objektorienterede programmeringssprog ), forenet af et fælles træk og organiseret i overensstemmelse med visse regler og begrænsninger.
Den komponentorienterede tilgang dukkede op i 1987 [ 1 ] , da Niklaus Wirth foreslog et blokmønster for Oberon -sproget. Dette mønster blev dannet, mens man studerede problemet med "skrøbelige" basisklasser, der opstår, når man bygger et omfangsrigt klassehierarki . Mønstret var, at en komponent kompileres adskilt fra andre, og ved runtime forbindes de nødvendige komponenter dynamisk .
I 1989 [1] - foreslog Bertrand Meyer ideen om en enkelt interaktion mellem kaldbare og kaldende komponenter. Denne idé blev udmøntet i form af færdige løsninger: CORBA , COM , SOAP . Efterfølgende blev støtte fra sproget realiseret i "Component Pascal" .
Situationen med indførelsen af en komponentorienteret tilgang, som en begrænsning for eksisterende programmeringsparadigmer , ligner fremkomsten af struktureret programmering , som begrænsede uordnede kontrolovergange ved hjælp af "GOTO" -operatoren (hvilket gjorde det vanskeligt at analysere programalgoritmen for eksisterende sprog og introducerede ikke nye konstruktioner).
Implementering i forskellige programmeringssprogDen komponentorienterede tilgang kan anvendes i mange programmeringssprog ved hjælp af standardkonstruktioner (såsom: klasser, grænseflader, pakker, moduler).