An AbstractDerivationID is what identifies every "dead-end" class (i.e. non-abstract classes) deriving from the AbstractClass uniquely.
In the game, it is often useful - for commonality's sake - to have a function or similar pass a FootClass, which is the base class of the [[UnitClass], the InfantryClass and the AircraftClass. This way, operations for moving units can be handled using one part of code.
However, sometimes one needs to know what exactly this FootClass is (one of the three possibilities named above). For this, you use the AbstractDerivationID.
This list is equivalent to the one on the Factory page.
Since this is a different context, here they are listed again: