Luiz Escobar wrote: > ==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...
Por favor, esclareça melhor a sua dúvida (ou as dúvidas). > 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... Que controles você precisa? > 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.... Cliente := TCliente.Retrieve(ID); TClienteEditPresenter.Run(Cliente); Em duas linhas você traz o cliente, mostra pro usuário, o usuário altera o que quer, clica OK, e o que o usuário alterou é enviado para o banco em uma única transação. TClienteEditPresenter.Run; Em uma linha você faz tudo o que eu falei acima, mas ao invés de alterar, você cria um novo cliente. Detalhe - nem precisa se preocupar em criar instância de coisa nenhuma. Nem destruir (use o FastMM se você não acredita). >> ==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.... E eu te juro que na época eu achava uma coisa "normal". >> ==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... Isso é só o começo. >> 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.... Pré alfa não significa cangalha. Significa que ainda tem mais código pra vir. Eu, no seu lugar, baixaria e fuçaria até virar do avesso. Pra quem gosta de Assembly isso é um prato cheio. O framework está estável, como eu já te disse, tenho ele em produção. -- João Morais > 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] > > >