![]() |
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.