CAtlModule The following CAtlModule-derived classes are customized to contain information required in a particular application type. Most members in these classes can be overridden:
CAtlDllModuleT Used in DLL applications. Provides code for the standard exports.
CAtlExeModuleT Used in EXE applications. Provides code required in an EXE.
CAtlServiceModuleT Provides support to create Windows NT and Windows 2000 Services.
CComModule is still available for backward compatibility.
Reasons for Distributing CComModule Functionality
The functionality of CComModule was distributed into several new classes for the following reasons:
Make the functionality in CComModule granular.
Support for COM, windowing, interface debugging, and application-specific (DLL or EXE) features is now in separate classes.
Automatically declare global instance of each of these modules.
A global instance of the required module classes is linked into the project.
Remove the necessity of calling Init and Term methods.
Init and Term methods have moved into the constructors and destructors for the module classes; there is no longer a need to call Init and Term.
Learn how to implement classes using advanced techniques like static classes, partial classes, and object initializers that can improve the readability, maintainability, and organization of your code.