>>> 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]

Responder a