1. In a software application in a computer system, a method for allocating memory for a COM-compliant object, the method comprising: maintaining a first static data structure storing information for supported by the computer system, the classes including a class of the COM-complaint object; maintaining a second static data structure storing information for interfaces for each of the classes supported by the computer system, the second static data structure comprising for each interface, a first memory location storing an interface identifier identifying the interface and a second memory location storing a location of a table of functions implementing the interface; and dynamically allocating memory for the COM-compliant object belonging to one of the classes supported by the computer system, without allocating a pointer for each of the interfaces supported by the COM-compliant object.