Project Management

If you are developing a large or complex application, you can use DLLs to facilitate applications development. Splitting an application into clearly defined subsystems can provide a logical way to divide work between different groups of developers. Each subsystem can then be developed as a separate DLL.

One of the challenges in such a project is defining the interface between each subsystem. Since DLL code can freely call routines in other DLLs, Windows imposes no constraints on subsystem definitions. In addition, Windows manages the movement and discarding of code segments to minimize the problems that memory limitations often cause for DOS development projects. To take advantage of this feature, code segments should be defined as MOVABLE, or MOVABLE and DISCARDABLE, in the module-definition (.DEF) file.

One benefit in using multiple DLLs is that, because each DLL has its own data segment, data contamination between subsystems is minimized. This type of encapsulation is useful in developing large applications.