Luiz eu tb estou olhando mais de perto isso.

O bom é que tu pode criar uma classe TCliente, e chamando o retrieve, por
exemplo, carregar os dados do banco.

O ganho é que tu faz isso na classe, e só instancia o objeto.

Com TDataSet, se em cada form tu for colocar um TTable ou um TQuery para
buscar esses dados, tu vai ter que localizar o cliente corespondente, ou com
Locate, ou com um GotoKey. Em resumo, e sempre tem que escrever muito
código.

Já no caso, usando um objeto cliente, tu escreve esse código uma vez só e
pronto.




----- Original Message ----- 
From: "Luiz Escobar" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Thursday, November 30, 2006 2:01 PM
Subject: Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!


>>> Andreano, não é achar que não deve ter, é ter certeza que não precisa
ter.
    Opa, isso precisa ter muita base pra falar....  né futuro matuzalem....

>>>É sempre questão de preferência. Falo por mim, estou apenas expondo
>>>vantagens de um modelo orientado a objetos perante o RAD (com exceção de
>>>usar TDataset como objeto de negócio - isso é roda quadrada).

HUmmm.... uma questao de preferencias.....  agora melhorou....

>>>TDataset é orientado a tabela, OPF é orientado a objetos do domínio do
>>>problema.

==TDataset==
TabCliente.Open; // ou .Query := 'xx';
TabCliente.Locate(); // ou TabCliente.Open;
TabCliente.Edit
TabClienteNOME := 'Outro';
TabCliente.Post;
e se tiver Cached updates... transação...
ai vc coloca um APPLYUPDATE(-1) e ta tudo certo....

==OPF==
Cliente := TCliente.Retrieve(ID); <<-- monta query, pesquisa, etc.
Cliente.Nome := 'Outro Nome';
Cliente.Save; <<-- cache, controle transacional, tudo aqui dentro.

>>E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra
TDataset.

Ta tirei o EDIT, quer dizer só mando o valor, sem dar um EDIT, mas tenho um
SAVE = POST, os cache/transaction no OPF não existem ? onde eu faço varias
alterações e mando salvar tudo de uma vez para que se der um problema eu
possa fazer um ROLLBACK ???
Este exemplo ta meio desproporcional...
Pra quem acha que EDIT´s são melhores que DBEDIT´s, isso ai Fudeu com tudo
mesmo porque os controles ficaram mais ainda longe das mãos dos
programadores.... não que eu não ache isso maravilhoso, muito pelo
contrario, quanto menos codigo melhor...

BOM mas o que o OPF do RETRIEVE usou para se ligar ao BANCO ? não foi um
DBWARE ? tipo um TTABLE ? TQUERY ? TDATABASE ? e para visualizar as coisas,
vou ter que fazer um label1.caption := cliente.nome ?
Explique mais, ou mostre onde posso conseguir mais coisa.... to começando a
gostar do bixim....

>==DBAware==
>
>DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em
>um componente (DB*) e a um datasource. Se você quer um componente
>'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset
>estiver em um DataModule e por desencargo do destino a ligação quebrar
>(nisso o Delphi melhorou um bocado), você tem que reabrir o form e
>refazer a bendita.

é isso de quebrar realmente acontecia muito com D2.... mas no D6 nunca
aconteceu comigo....

>==MVP==
>
>MVP é totalmente desacoplado, é o framework que entende o componente, e
>não o contrário. O formulário que usa o padrão MVP *não tem código*,
>você pode mandar os .pas e os .dfm para uma empresa de design, entregar
>uma licença de Delphi pra eles, eles usam qualquer componente que eles
>quiserem, você tras os novos formulários para o seu projeto e recompila.
>A única exigência é que os componentes continuem com o mesmo nome,
>porque MVP pode ser bom, mas não é feiticeiro.

HUmmm isso realmente parece bom...

>Teria mais um monte pra falar, mas encerro aqui minha participação nessa
>thread com esse mini-artigo (a menos que os colegas tenham dúvidas).

Vixe... varias... mas vamos deixar para quando vc chegar no BETA ai eu vou
ser um que vai querer testar isso ai... porque em PRÉ-ALFA, num vai dar....

Valeu e obrigado....



Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Links do Yahoo! Grupos




-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.430 / Virus Database: 268.15.2/559 - Release Date: 30/11/2006
05:07


Responder a