An abstraction factory pattern in a client/server architecture receives and
transforms data into a plurality of concrete objects. Each of the concrete
objects is associated with an abstract interface. A map of the association
between the concrete objects and the abstract interface is created. When a
request is received from the client (which includes an identifier for one
of the concrete objects and an identifier for the abstract interface) the
map on the server is consulted to locate the concrete object that has been
identified. Then, an abstract object is created that corresponds to the
located concrete object such that the abstract object serves as a handle,
generically manipulable by the client/server architecture. The invention
represents a way to encapsulate diversity such that only those parts of
the system that need to understand the difference between two objects have
to deal with those differences.
Um teste padrão da fábrica do abstraction em uma arquitetura client/server recebe e transforma dados em um plurality de objetos concretos. Cada um dos objetos concretos é associado com uma relação abstrata. Um mapa da associação entre os objetos do concreto e a relação abstrata é criado. Quando um pedido está recebido do cliente (que inclui um identificador para um dos objetos concretos e um identificador para a relação abstrata) o mapa no usuário está consultado para encontrar o objeto concreto que foi identificado. Então, um objeto abstrato é criado que corresponda ao objeto concreto encontrado tais que o objeto abstrato serve como um punho, genèrica manipulable pela arquitetura client/server. A invenção representa uma maneira encapsulate a diversidade tais que somente aquelas partes do sistema que necessitam compreender a diferença entre dois objetos têm que tratar daquelas diferenças.