Utilisation de ATL pour utiliser les API du Shell

La programmation Windows se fait souvent en COM. Pour ce faire on déclare des interfaces COM, des pointeurs IUnknown et on fait des QueryInterfacen AddRef, Release, etc.

Il existe un moyen plus cool de faire cela: les templates C++ ATL.

Voici deux fonctions: Remarquez la différence de style entre la première version COM et la version ATL COM :

 

Et voici la version ATL:

Application pratique du C++ pour mes étudiants

Pour mes étudiants en 4ème année, j’ai pris comme modèle d’application 2 styles d’app:

  • Serveur Web REST API avec Microsoft CPPREST SDK
  • Une application Windows graphique MFC

modeler2_shapes_infra

Je leur ai expliqué qu’il faut des couches d’abstractions entre la plomberie de tel ou tel SDK et le code C++ métier.

Pour le serveur Web REST API en moins de 200 lignes de code, c’est bluffant. Pour faire le back-end d’une application mobile, c’est le candidat parfait.

J’ai senti qu’ils étaient très intéressés de voir que C++, c’est concret.