DLL is a Dymamic-Link Library that contains code and data that can be used by more than one program at the same time. The concept of DLL helps to promote code reuse and efficient memory usage, and also eases code deployment and installation.
The DLL may be loaded into the memory when it is actually needed, so the memory usage becomes optimized. Since many applications may use the same DLL at the same time, the amount of required memory will be decreased dramatically which is an important issue on mobile devices.
Static Interface DLL
A static interface DLL export functions that can be called by other code that builds against its header files and links against its import library. Static interface DLLs are also known as shared library DLLs. As well as providing Symbian OS APIs, they also have a place in applications programming. In a complex project, abstraction and modularisation can be achieved by designing a system as a collection of separate units, each of which encapsulates a piece of the logical design and provides it as a black box to the rest of the system. Each unit is known to others only by its API, and is built as a library DLL.
Polymorphic Interface DLL
A polymorphic interface DLL exports a single factory function only at a well known location, usually at ordinal #1. Calling this function creates an instance of the newly derived framework class.
Alternative to Polymorphic Interface DLLs