Dal C++ al COM - Corso Aziendale


Il COM è ormai lo standard di riferimento per lo sviluppo di componenti in ambiente Windows. Creare componenti COM è relativamente semplice, grazie ai numerosi tool ed al supporto da parte di librerie come MFC ed ATL. Tuttavia, sviluppare componenti COM senza avere chiari i meccanismi sottostanti (come l'influenza del marshaling nella progettazione delle interfacce) e le reali motivazioni che hanno portato alla definizione del COM (come l'indipendenza dal linguaggio) significa, in poche parole, rinunciare a progettare i componenti e limitarsi a scrivere codice "che funziona".
Questo corso permette ad ogni programmatore C++ di comprendere più a fondo i meccanismi del COM, le sue motivazioni, e l'impatto sulla progettazione. A tal fine si ripercorre insieme il processo che ha portato alla creazione del COM, in modo da comprenderne ogni singolo aspetto. Questo percorso, nell'ottica indipendente che ci contraddistingue, evidenzia anche gli inevitabili limiti del COM, troppo spesso descritto erroneamente come un "C++ migliore", mentre (come sempre avviene) anche nel passaggio dal C++ al COM si hanno vantaggi e svantaggi, che vanno pesati per trovare il migliore trade-off.
Comprese le basi, si passa ad esaminare la creazione di un componente COM completo, dalla sua interfaccia specificata in IDL sino alla class factory, sempre rimanendo nell'uso del C++ puro, senza intermediazione di librerie (nuovamente, al fine di comprendere al meglio ogni aspetto).
Infine, si considera l'impatto del COM sul design: estendibilità senza ereditarietà di implementazione e senza sorgente, influenza sulla progettazione delle interfacce, risoluzione di problemi concreti all'interno del framework COM.

Dettagli sul corso

Durata: 1 o 2 giorni in funzione di approfondimenti ed esercizi.
(con possibilità di ulteriori giornate di workshop basate sui progetti dell'azienda)

Partecipanti: massimo 15.

Prerequisiti: Conoscenza di base della programmazione C++ e della programmazione in Windows.

Programma del corso:

COM: Motivazioni ed Utilizzo
Perché è nato il COM e quale ruolo può avere nelle nostre applicazioni.

Dalla classe al componente COM
"Reinventiamo" insieme il COM per capirne al meglio i principi di base.

Interfacce, IDL ed Implementazione
Specificare le interfacce in IDL e fornirne una implementazione in C++ puro.

Registrare ed Istanziare i Componenti
Legami tra componenti, client, e Service Control Manager.

Estendibilità "senza sorgente"
Tecniche di estensione binaria: forwarding ed aggregation.

COM e Design (solo alcuni cenni nella versione da 1 giorno)
Esempi ed esercizi tratti da problemi reali, con confronti tra design ad oggetti ed a componenti COM.

Bibliografia
Selezione dei migliori testi ed articoli.


Se siete interessati a questo seminario aziendale, potete compilare la seguente richiesta di contatto per fissare un possibile incontro.


  torna alla pagina dei corsi