Browse Prior Art Database

Mechanism for using System Object Model Metaclass to Customize Class Initialization

IP.com Disclosure Number: IPCOM000115205D
Original Publication Date: 1995-Mar-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 61K

Publishing Venue

IBM

Related People

Holdsworth, SA: AUTHOR [+2]

Abstract

A method for controlling creation of a class object to ensure that required services are available for instances of that class.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Mechanism for using System Object Model Metaclass to Customize Class
Initialization

      A method for controlling creation of a class object to ensure
that required services are available for instances of that class.

      In an object-oriented design, there may be classes of objects
that require certain services to be available to instances of that
class in order to properly operate.  Normally such services must be
initialised before the system of classes described by the design can
function.

      It is often the case that some services may not be needed for a
particular execution of the system; initializing such services
reduces the resources available to the system and it is desirable to
avoid using those resources if possible.

      In an object-oriented design, there is often a close
correspondence between the individual services and classes within the
design, as OO design tends to partition responsibilities more
efficiently than other design approaches.

      If only one class in the system uses a particular service, then
that service only needs to be initialized if objects of that class
are created.  In IBM*'s System Object Model* (SOS), before any
objects of that class are created, the class object is created, so by
customizing the creation of the class object we can ensure that all
services required by instances of that class are initialized before
any instances of the class are created.

      SOM has a construct known as a metaclass.  The metaclass allows
customization of the creation of a class object...