Komponenttisuuntautunut ohjelmointi ( eng. Component-oriented programming, COP ) on ohjelmointiparadigma , joka perustuu olennaisesti komponentin käsitteeseen - ohjelman lähdekoodin itsenäiseen moduuliin , joka on suunniteltu uudelleenkäyttöä ja käyttöönottoa varten ja toteutettu useiden eri muotojen muodossa. kielirakenteista (esimerkiksi " luokat " olio- ohjelmointikielissä ), joita yhdistää yhteinen piirre ja jotka on järjestetty tiettyjen sääntöjen ja rajoitusten mukaisesti.
Komponenttilähtöinen lähestymistapa ilmestyi vuonna 1987 [ 1] , kun Niklaus Wirth ehdotti lohkomallia Oberon- kielelle. Tämä malli muodostui tutkittaessa "hauraiden" perusluokkien ongelmaa, joka syntyy, kun rakennetaan laajaa luokkahierarkiaa . Malli oli, että komponentti käännetään erillään muista, ja ajon aikana tarvittavat komponentit yhdistetään dynaamisesti .
Vuonna 1989 [1] - Bertrand Meyer ehdotti ajatusta yhdestä vuorovaikutuksesta kutsuttavien ja kutsuvien komponenttien välillä. Tämä idea ilmeni valmiiden ratkaisujen muodossa: CORBA , COM , SOAP . Myöhemmin kielen tuki toteutettiin "Component Pascalissa" .
Tilanne komponenttilähtöisen lähestymistavan käyttöönoton yhteydessä olemassa olevien ohjelmointiparadigmien rajoituksena on samanlainen kuin strukturoidun ohjelmoinnin tulo , joka rajoitti järjestämättömiä ohjaussiirtymiä "GOTO" -operaattorilla (mikä vaikeutti ohjelma-algoritmin analysointia olemassa oleville kielille eikä tuonut uusia rakenteita).
Toteutus eri ohjelmointikielilläKomponenttilähtöistä lähestymistapaa voidaan soveltaa monilla ohjelmointikielillä käyttämällä vakiorakenteita (kuten: luokat, rajapinnat, paketit, moduulit).