Active Template Library - Corso Aziendale


ATL, la più recente proposta Microsoft per la creazione di componenti COM in C++, è una valida alternativa all'uso di librerie più massiccie ed invasive come MFC, ma anche alla poco attraente prospettiva di scrivere tutto il codice dei componenti manualmente. Si presenta anche meglio integrata all'interno dell'ambiente di sviluppo di quanto una libreria proprietaria possa sperare di divenire.
Tuttavia, come sempre avviene, anche ATL va ben oltre la patina presentata dai vari Wizard che si interpongono tra programmatore ed ambiente. Wizard che da un lato sono molto comodi, perché si preoccupano di mantenere la consistenza tra i file IDL ed il relativo mapping C++, ma che dall'altra non devono impedire di raggiungere la giusta comprensione di quanto avviene dietro le quinte.
ATL richiede infatti al programmatore che scrive componenti non banali (ma non necessariamente stratosferici: si pensi, ad esempio, ad un semplice componente che implementa più interfacce, od al caso di più interfacce condivise da componenti diversi) di mettere mano al codice generato, sia a livello di IDL che di C++. Diventa allora indispensabile una conoscenza a diversi livelli di ATL, dalle diverse opzioni che guidano la generazione al ruolo ed alle potenzialità delle varie classi che compongono l'architettura ATL. Pensando ad un utilizzo di ATL in luogo di MFC (per la creazione di componenti leggeri) diventa altresì utile la conoscenza del supporto alla GUI ed all'accesso ai dati fornito da ATL.
Il tutto senza mai dimenticare cosa significa realmente scrivere un componente COM, e quindi ponendo l'attenzione sui diversi strati interposti in modo trasparente, sia da ATL che dal sistema (es. marshaling) ed evitando di scrivere componenti che semplicemente "sembrano funzionare", ma dando le basi per progettare componenti che funzionano per design.

Dettagli sul corso

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

Partecipanti: massimo 15.

Prerequisiti: Conoscenza dei fondamenti del COM, senza intermediazione di librerie (o partecipazione al corso "Dal C++ al COM"). Conoscenza di base del linguaggio C++, meglio se con conoscenza operativa dei template.

Programma del corso:

Quick Tour (component side)
Un rapido giro di tutti i passi necessari per sviluppare un componente con l'uso di ATL.

ATL Architecture
Riesaminiamo dall'inizio ogni passo, con il duplice intento di capire la struttura, le potenzialità, e l'uso concreto di ATL nello sviluppo di un componente. Un esame approfondito delle classi e degli strumenti disponibili.

Client side
Dopo aver esaminato nei dettagli come creare un componente con ATL, vediamo il supporto della stessa libreria per integrare ed utilizzare altri componenti COM.

Wizard, IDE ed Opzioni
Ritorniamo ad esaminare le numerosissime opzioni presenti nei dialog di creazione di componenti, coclass ed interfacce. Per ogni opzione, definiamo con precisione cosa comporta a livello di codice generato dal wizard.

Dialog e finestre in ATL
ATL fornisce ormai un ragionevole supporto anche per la creazione del lato GUI. Vediamo le classi più importanti messe a disposizione ed i legami con la programmazione a livello SDK.

VB friendliness
Molti componenti ATL vengono creati per arricchire le funzionalità accessibili da programmi scritti in Visual Basic, che tuttavia ha requisiti particolari nell'uso di stringhe, di enumeratori, eccetera. Vediamo come rendere i nostri componenti VB-friendly.

Riuso di IDL in progetti diversi
L'uso dei Wizard rende la scrittura e la manutenzione dei file di definizione delle interfacce (IDL) molto semplice, ma l'ambiente è pensato per piccoli componenti. Vediamo come è necessario intervenire manualmente sui file generati per condividere le specifiche di interfaccia tra componenti diversi in progetti più complessi.

Uso dei database (ADO)
Un'altra ampia famiglia di componenti scritti in ATL è quella che si interfaccia con i database. Vediamo il supporto fornito da ATL per scrivere OLE DB consumer.


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


  torna alla pagina dei corsi