Caramba, meu! Vc conseguiu agora ser mais chato do que eu!

É claro que o que identifica uma instância de um objeto é o seu endereço de 
memória. O que eu quis dizer vc acabou repetindo, só que com outras palavras. É 
claro que, em essência, pra se referenciar a uma instância de um objeto eu 
preciso usar seu endereço de memória, tanto é que variáveis de instâncias nada 
mais são do que ponteiros, mas o GUID é usado pra gerar um ID único. Foi 
exatamente isso que eu falei no post anterior.

Exemplo:

type
  TCliente = class
  private
    FID: TGUID
    FNome: String;
    FEndereco: String;
    function GetID: cardinal;
  public
    constructor Create(UmNome, UmEndereco: String);
    property ID: cardinal read GetID;
    property Nome: string read FNome write FNome;
    property Endereco: string read FEndereco write FEndereco;
  end;

{  TCliente  }

constructor TCliente.Create(UmNome, UmEndereco: String);
begin
  CreateGUID(FFID);
  FNome := UmNome;
  FEndereco := UmEndereco;
end;

function TCliente.GetID: Cardinal;
begin
  Result := FID.D1;
end;

Em termos conceituais, eu quis dizer quem tem desenvolvedor OO que usa GUID pra 
fazer identificações únicas (tacitamente falando, IDs) dos objetos. Agora, se 
for pra deixar a coisa mais clara, tanto para o seu purismo como pra outros 
colegas que queiram entender:

. Em termos conceituais, usa-se GUID para criar IDs únicos para as instâncias;
. Em termos de implementação e uso de instâncias na linguagem de programação 
(Object Pascal/Delphi Language), usa-se endereços de memória para referenciar 
unicamente uma instância de objeto.


Sds.


________________________________

To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Fri, 18 Jan 2008 18:02:02 -0200
Subject: Re: [delphi-br] Como criar uma GUID?







Rubem Nascimento da Rocha wrote:
> Calma, João. Tá parecendo eu, cara! Pega leve! Já basta eu!

Capaz rapaz. Uma segunda leitura com a cabeça fria e você percebe que eu
apenas dei destaque para separar uma coisa da outra ;)

> O que o Adriano quis dizer é que tem desenvolvedores que, quando
> implementam classes de negócio, usam o GUID para identificação
> única de suas instâncias. É óbvio que GUID não em nada haver com
> OOP, mas tem desenvolvedor OO que usa GUID para identificar
> unicamente as instâncias de classes de negócio.

O que define uma instância é seu endereço de memória. Ao fazer
referência a um objeto agregado, você guarda seu endereço e não seu
GUID. O GUID identifica a instância na persistência, caso o
armazenamento persistente não seja capaz de gerar uma chave única (xml
me vem a mente).

Um GUID, no entanto, é necessário para referências em memória do modelo
relacional (TDataset) devido a limitação deste modelo.

--
Joao Morais

>
> Adriano Santos (Yahoo) wrote:
>> inclusive quem utiliza bastante GUID é o
>> pessoal que programa OO no Delphi.
>
> OO não tem nada a ver com GUID. GUID tem a ver com geração de índice sem
> depender da base de dados, e que pode ser usado tanto para objetos de
> negócio quanto para o modelo relacional.
>
> --
> Joao Morais
>








_________________________________________________________________
Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos 
com até 6,000 fotos!
http://www.amigosdomessenger.com.br

Responder a