Title ============ Abstract Constructor Author's name ============= Manfred Lange Telecom ======= e-mail: Manfred_Lange@hp.com phone: 49-7031-14-2795 fax: 49-7031-14-4987 Snail Mail ========== Manfred Lange Hewlett-Packard GmbH European Support Technology Lab (ESTL) Herrenberger Strasse 130 71034 Boeblingen Germany Abstract ======== The paper describes a typed-language specific pattern, which implements a mechanism for creating objects given any kind of description. Two application examples are presented showing how to implement and use the pattern in practice. In general the pattern can be applied by added two static members to the classes which take part in the Abstract Constructor mechanism. The pattern can be used in the following cases: - objects within one class hierarchy tree are given, and appropriate objects in a different class hierarchy tree should be attached - a stream with serialized objects is given, and the objects should be de-serialized - a piece of information is given and an object that fits best should be determined and created. The pattern has been successfully applied several times in different projects. The current implementation is available as a C++ template, thus allowing easy adaption of the pattern. The paper also describes a generic solution to the problem of registering all constructors during startup of an application. The pattern is an extension of the existing virtual constructor patterns as described by James Coplien, Steven Berczuk and others.