A method and system for aggregating objects within a computer system are
provided. In a preferred embodiment, the method aggregates an enclosed
object within an enclosing object. The enclosed object has an object
management interface and an external interface, while the enclosing object
has a controlling object management interface. The controlling object
management interface and the external interface of the enclosed object
have query function members for receiving an identifier of an interface
and for returning a reference to the identified interface. A preferred
embodiment creates an instance of an enclosing object and an object to be
enclosed. In static aggregation, the controlling object management
interface of the enclosing object knows in advance how to return an
identifier to the external interface of the enclosed object. In dynamic
aggregation, an object to be enclosed is added to the enclosing object
after the enclosing object is instantiated. Once aggregated, when the
query function member of the object management interface of the enclosed
object receives an identifier of an interface, it invokes the query
function member of the controlling object management interface forwarding
the interface identifier and returns the reference to an interface
returned by the invoked query function member of the controlling object
management interface. In dynamic aggregation, rules for determining to
which interface to return a reference can by added to the enclosing object
and used by the query function member of the controlling object management
interface.
Um método e um sistema para agregar objetos dentro de um sistema computatorizado são fornecidos. Em uma incorporação preferida, o método agrega um objeto incluido dentro de um objeto incluindo. O objeto incluido tem uma relação da gerência do objeto e uma relação externa, quando o objeto incluindo tiver uma relação controlando da gerência do objeto. A relação controlando da gerência do objeto e a relação externa do objeto incluido têm membros da função da pergunta para receber um identificador de uma relação e para retornar uma referência à relação identificada. Uma incorporação preferida cría um exemplo de um objeto incluindo e de um objeto a ser incluídos. No aggregation de estática, a relação controlando da gerência do objeto do objeto incluindo sabe no avanço retornar um identificador à relação externa do objeto incluido. No aggregation dinâmico, um objeto a ser incluído está adicionado ao objeto incluindo depois que o objeto incluindo é instantiated. Uma vez que agregado, quando o membro da função da pergunta da relação da gerência do objeto do objeto incluido recebe um identificador de uma relação, invoca o membro da função da pergunta do forwarding controlando da relação da gerência do objeto o identificador da relação e retorna a referência a uma relação retornou pelo membro invocado da função da pergunta da relação controlando da gerência do objeto. No aggregation dinâmico, réguas para determinar a que relação retornar uma lata da referência adicionou perto ao objeto incluindo e usado pelo membro da função da pergunta da relação controlando da gerência do objeto.