Cosa significa oggetto COM?


9

Che cos'è? Come ho capito, è una specie di tecnologia speciale di Microsoft per alcuni oggetti. Ma cosa esattamente?

Risposte:


3

È fondamentalmente una vecchia tecnologia utilizzata per scrivere programmi in ambiente Windows. È grande e complesso e non è stato divertente gestirlo / supportarlo. Il framework .NET è il suo sostituto.


1
gli oggetti COM non sono utilizzati in .NET framework?
Sergey,

3
Possono essere chiamati da .NET, ma sono un sistema completamente diverso. Si chiama COM Interop. Puoi esplorarli un po 'sul tuo computer - in Pannello di controllo >> Strumenti di amministrazione >> Servizi componenti.
Morgan T.

2
COM non andrà da nessuna parte presto. È ampiamente utilizzato dai prodotti di Microsoft. Penso quindi sia un po 'fuorviante che tu lo chiami "fondamentalmente una vecchia tecnologia". Sì, è stato introdotto per la prima volta nei primi anni '90, quindi tecnicamente è "vecchio" nel senso che è in circolazione da un po 'di tempo, ma è necessario fare attenzione a non indicare che è obsoleto o obsoleto.
Cody Grey,

12

Un oggetto COM è fondamentalmente una scatola nera che implementa alcune interfacce note. Può anche registrarsi con Windows in modo che i programmi possano bloccarlo.

Ad esempio, supponiamo che ci sia qualche interfaccia ICalculatorche scrivo per usare il mio programma. Ora posso scambiare qualsiasi oggetto, scritto in qualsiasi linguaggio di programmazione (poiché si tratta di un'interfaccia binaria) che implementa ICalculator. Quindi in fase di esecuzione, posso fornire una sorta di opzione ai miei utenti in modo che possano scegliere di utilizzare l' FooCorpCalculatoroggetto COM, scritto in Python, o forse se hanno bisogno di più velocità possono scegliere uno NinjaCalculatorscritto in C. Il punto è che scrivo il mio programma dipende da un'interfaccia, non da un'implementazione, e quindi sceglie di utilizzare l'oggetto COM effettivo che implementa l'interfaccia in un secondo momento.

C'è molto di più, ovviamente, ma potrebbe essere un esempio che lo rende più concreto per te.


4

Vedi questo articolo di Wikipedia: Component Object Model

Component Object Model (COM) è uno standard di interfaccia binaria per la componentistica software introdotto da Microsoft nel 1993. Viene utilizzato per consentire la comunicazione tra processi e la creazione dinamica di oggetti in una vasta gamma di linguaggi di programmazione. Il termine COM viene spesso utilizzato nel settore dello sviluppo software Microsoft come termine generico che comprende le tecnologie OLE, OLE Automation, ActiveX, COM + e DCOM.

Un oggetto COM è spesso implementato in un file DLL. Possono essere utilizzati dai programmi per una varietà di funzioni. Il termine "oggetto" qui utilizzato si riferisce agli oggetti nella programmazione orientata agli oggetti .


1
ecco perché ho posto questa domanda. perché Wikipedia non ha risposto. La definizione è molto astratta e non vedo alcun esempio reale.
Sergey,

1

COM è un insieme di tecnologie specifiche di Windows per consentire il riutilizzo e l'interoperabilità del codice, principalmente a livello del binario (non necessariamente a livello del codice sorgente).

All'inizio degli anni '90 Bill Gates non consentiva al team di sviluppo di Powerpoint di implementare un proprio sottosistema di creazione di grafici per il prodotto Powerpoint, poiché Microsoft aveva già Excel. Quindi hanno sviluppato una specifica per consentire ai propri prodotti interni di scambiare dati e chiamare funzioni reciproche. Microsoft ha generalizzato queste API, le ha pubblicate e molte più linee guida per la progettazione del codice.

Guarda questo video del 2006: Tony Williams: co-inventore di COM

Penso che ora nel 2012 COM sia ancora al centro di WMI e Office.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.