Nem terminei de ler o e-mail mas já sugiro que procure no Google por "DePO"  ou 
"InstantObjects" ou "PressObjects"  e leia um pouco dos fóruns tanto do DePO 
quanto do InstantObjects. Acho que vc vai se surpreender com o que vai achar.

----- Mensagem original ----
De: Luiz Escobar <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 30 de Novembro de 2006 14:01:21
Assunto: 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/Desenvolve dor:

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.megasist ema.com.br



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





    
  

    
    




<!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->








                
_______________________________________________________ 
O Yahoo! está de cara nova. Venha conferir! 
http://br.yahoo.com

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

Responder a