Oi pessoal, no começo do ano começamos a construir um conjunto de frameworks para trabalhar totalmente orientado a objetos no delphi. Junto a este framework uma ferramenta MDA para gerar código para qualquer linguagem usando XSL.
Muita coisa ja está pronta, estamos terminando o MVP para poder trabalhar em um Hibernate para Delphi. Visitem o forum. www.oodesign.com.br lá vcs acharão um forum chamado Infra e tem tambem um SCN repositorio onde os fontes podem ser baixados. Quem quiser ajudar, fique avontade, somos bastante democráticos, qualquer dúvida pode postar lá no forum do oodesign ok? Valeu! --- Em delphi-br@yahoogrupos.com.br, "Andreano Lanusse" <[EMAIL PROTECTED]> escreveu > Valdemir, > > toda a documentação do ECO está no Delphi 2005, como o ECO utiliza arquitetura MDA você pode começar a estudar esta arquitetura www.omg.org > > Alguns autores estão escrevendo livros sobre ECO. > > []'s > Andreano Lanusse > System Engineer > Borland Latin America > > ________________________________ > > De: delphi-br@yahoogrupos.com.br em nome de Valdemir - yahoo > Enviada: seg 17/10/2005 21:34 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] Re: Programação Orientada a Objetos com Delphi > > > daniel existe algum livro abortando este assunto em portugues ? > > Valdemir Jacon Sanches [EMAIL PROTECTED] - [EMAIL PROTECTED] - > [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] > PROSIS Informática Nº ICQ : 43791272 MSN: : [EMAIL PROTECTED] > ----- Original Message ----- > From: "Daniel Polistchuck" <[EMAIL PROTECTED]> > To: <delphi-br@yahoogrupos.com.br> > Sent: Monday, October 17, 2005 6:28 PM > Subject: RE: [delphi-br] Re: Programação Orientada a Objetos com Delphi > > > Outra opção seria o ECO disponível no Delphi 2005 / 2006. > > Daniel Polistchuck > Consulting Services Manager > Borland Software Corporation > Tel: +55 (11) 2165-8047/ Cel: +55 (11) 8196-5947 > [EMAIL PROTECTED] - www.borland.com.br > <http://www.borland.com.br/> > > A Borland Software Corporation é líder global em soluções independentes de > plataforma para o Software Delivery Optimization, auxiliando nossos clientes > a resolverem as restrições no desenvolvimento de aplicações nos dias de > hoje, para maximizar o valor do negócio de seu software > > > > ________________________________ > > From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On > Behalf Of Vinicius Ribeiro > Sent: Monday, October 17, 2005 4:55 PM > To: delphi-br@yahoogrupos.com.br > Subject: Re: [delphi-br] Re: Programação Orientada a Objetos com Delphi > > > Cristina, > > para persistencia dos dados procure por DEPO no google. > > http://www.liws.com.br/depo/arquivos/ > > Eu ainda nao uso, mas um colega usa e disse ter bons resultados. > > -- > > Atenciosamente, > > > Vinicius S. L. Ribeiro > [EMAIL PROTECTED] > > GNU/Linux User #293209. > Get counted: http://counter.li.org/ > > > Cristina wrote: > > Oi Eduardo, > > > > A minha maior dúvida é seguinte: fica meio estranho o controle setar > > os valores dos atributos na entidade e depois salvar no banco de dados. > > Parece que não faz sentido jogar os valores na entidade, já que estou > > salvando no banco. Em java quando se trabalha com serialização de > > objetos, isto faz sentido, seto os atributos da entidade, coloco em um > > vetor de objetos e serializo o vetor. > > > > Se você tiver outros exemplos de inserção, atualização e consulta > > utilizando o modelo MVC, fico muito grata. > > > > Tutoriais e apostilas sobre o assunto também são bem vindas. > > > > > > > > edu052000 escreveu: > > > > > Bom Dia !!! > > > > > > Cristina, > > > > > > A implementação do MVC em Delphi pode ser feita utilizando-se o mesmo > > > esquema do JAVA: > > > > > > Classe Limite - Interface. > > > > > > Classe Controle - Onde estará toda a regra de negócio, implementada > > > por exemplo através de um servidor de aplicação utilizando SOAP. > > > > > > Classes Entidades - Classes com seus atributos e METÓDOS DE ACESSO. > > > > > > Outra coisa o DataModule, nada mais é do que um meio para organizar > > > seu código, onde todas as suas tabelas, consultas e etc estarão. Veja > > > o DataModule como a camada de acesso aos dados. > > > > > > O que muda é a abordagem dada pelo exemplo aqui apresentado. > > > > > > Espero ter ajudado qualquer coisa me envia um e-mail que posso te > > > fornecer exemplos. > > > > > > Att. > > > > > > > > > > > > > Oi Romário, > > > > > > > > Valeu pelas dicas. > > > > Aprendi MVC com java e o conceito é um pouco diferente do que > > > você > > > > exemplificou em Delphi. > > > > > > > > Por exemplo em java temos: > > > > Classe Limite que é a interface > > > > Classe Controle que é a classe responsável pela regra de > > > negócio, > > > > e por salvar os dados nos atributos da Classe Entidade > > > > Classe Entidade é a classe que contém os atributos e os > > > métodos > > > > de acesso. > > > > > > > > Pelo seu exemplo o limite chama os métodos da entidade (Classe, > > > como > > > > você definiu) e a entidade chama os métodos da classe controle > > > > (DataModule) para acessar o banco de dados. > > > > > > > > > > > > > > > ---------------------------------------------------------------------- > > > ------------------------- > > > >> Romario (Listas) escreveu: > > > > > > > > Vou dar um exemplo básico utilizando a sua dúvida com o insert. > > > > > > > > > > ================================================================= > > > > > > > > > > Na Interface: > > > > > > > > > > Type > > > > > > > > > > TfmCliente = Class(TObject) > > > > > > > > > > {Lista de Componentes do Formulário} > > > > > ... > > > > > > > > > > Procedure FormCreate(Sender: TObject); > > > > > Procedure FormDestroy(Sender: TObject); > > > > > Procedure btnSaveClick(Sender: TObject); > > > > > > > > > > Private > > > > > { Private declarations } > > > > > Public > > > > > { Public declarations } > > > > > End; > > > > > > > > > > Var > > > > > fmCliente: TfmCliente; > > > > > > > > > > Implementation > > > > > > > > > > {$R *.dfm} > > > > > > > > > > Var > > > > > Cliente: TCliente; > > > > > > > > > > Procedure TfmCliente.FormCreate(Sender: TObject); > > > > > Begin > > > > > Inherited; > > > > > Cliente := TCliente.Create; > > > > > End; > > > > > > > > > > Procedure TfmCliente.FormDestroy(Sender: TObject); > > > > > Begin > > > > > FreeAndNil(Cliente); > > > > > Inherited; > > > > > End; > > > > > > > > > > Procedure TfmCliente.btnSaveClick(Sender: TObject); > > > > > Begin > > > > > If edtNome.Text <> '' Then > > > > > Begin > > > > > Funcionario.Nome := edtNome.Text; > > > > > ... > > > > > If Funcionario.Salvar Then > > > > > Begin > > > > > edtNome.Clear; > > > > > ... > > > > > End > > > > > Else > > > > > Begin > > > > > ShowMessagem('Houve erro na gravação'); > > > > > ... > > > > > edtNome.SetFocus; > > > > > End; > > > > > End > > > > > Else > > > > > Begin > > > > > ShowMessagem('É obrigatório informar o nome do cliente.'); > > > > > ... > > > > > edtNome.SetFocus; > > > > > End; > > > > > End; > > > > > > > > > > ================================================================= > > > > > > > > > > Na Classe: > > > > > > > > > > Type > > > > > > > > > > TCliente = Class(TObject) > > > > > > > > > > Private > > > > > > > > > > FCodigo : Integer; > > > > > FNome : String; > > > > > ... > > > > > > > > > > Public > > > > > > > > > > Property Codigo : Integer Read FCodigo; > > > > > Property Nome : String Read FNome Write FNome; > > > > > ... > > > > > > > > > > Function Salvar: Boolean; > > > > > ... > > > > > > > > > > End; > > > > > > > > > > Implementation > > > > > > > > > > Function TCliente.Salvar: Boolean; > > > > > Begin > > > > > > > > > > Result := dmCliente.Salvar(Self); > > > > > > > > > > End; > > > > > > > > > > End. > > > > > > > > > > ================================================================= > > > > > > > > > > No DataModule: > > > > > > > > > > Type > > > > > > > > > > TDmCliente = Class(TDataModule) > > > > > > > > > > Private > > > > > { Private declarations } > > > > > Public > > > > > { Public declarations } > > > > > Function Salvar(oCliente: TCliente): Boolean; > > > > > End; > > > > > > > > > > Var > > > > > dmCliente: TDmCliente; > > > > > > > > > > Implementation > > > > > > > > > > {$R *.dfm} > > > > > > > > > > Function TDmCliente.Salvar(oCliente: TCliente): Boolean; > > > > > Begin > > > > > With cdsCliente do > > > > > Begin > > > > > Try > > > > > Close; > > > > > If oCliente.Codigo = 0 Then > > > > > Begin > > > > > { Para abrir o ClientDataSet já vazio } > > > > > CommandText := 'Select * From Cliente Where CodCliente = > > > 0'; > > > > > Open; > > > > > Insert; > > > > > FieldByName('CodCliente').AsInteger := {Seu Generator}; > > > > > End > > > > > Else > > > > > Begin > > > > > If Locate('CodCliente', oCliente.Codigo, []) Then > > > > > Edit; > > > > > End; > > > > > FieldByName('Nome').AsString := oCliente.Nome; > > > > > Post; > > > > > Result := ApplyUpdates(0); > > > > > Except > > > > > on E: Exception do > > > > > ShowMessage(E.Message); > > > > > End; > > > > > End; > > > > > End; > > > > > > > > > > ================================================================= > > > > > > > > > > Obs.: Não testei o código para saber se tem erros. > > > > > > > > > > Espero que dê para entender a utilização do MVC no Delphi. > > > > > > > > > > Sds, > > > > > > > > > > Romario > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Cristina escreveu: > > > > > > Então deixa ver se eu entendi. > > > > > > > > > > > > Para dar um insert, por exemplo em uma entidade cliente, eu > > > terei > > > > > > que setar os valores dos atributos na entidade e depois na > > > tabela > > > > > Clientes? > > > > > > > > > > > > Para fazer uma consulta, insiro na entidade clientes, todos > > > os > > > > > > clientes cadastrados na tabela Cliente e trabalho com os dados > > > em > > > > > > memória? E se eu tiver uma tabela de clientes muito grande, a > > > > > > performance do meu software não estará diminuída, por usar > > > muito espaço > > > > > > em memória? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________________ > > > > > Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula > > > > > cupons e concorre a mais de 500 prêmios! Participe! > > > > > http://yahoo.fbiz.com.br/ > > > > > > > > > > > > > > > > > > -- > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > > > Para ver as mensagens antigas, acesse: > > > http://br.groups.yahoo.com/group/delphi-br/messages > > > > > > Para falar com o moderador, envie um e-mail para: > > > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > > > > > > > > > *Yahoo! Grupos, um serviço oferecido por:* > > > > > > > > > ------------------------------------------------------------------------ > > > *Links do Yahoo! Grupos* > > > > > > * Para visitar o site do seu grupo na web, acesse: > > > http://br.groups.yahoo.com/group/delphi-br/ > > > > > > * Para sair deste grupo, envie um e-mail para: > > > [EMAIL PROTECTED] > > > > > <mailto:[EMAIL PROTECTED]> > > > > > > * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do > > > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>. > > > > > > > > > > -- > > > > Atenciosamente > > ---------------------------------------- > > Cristina Orthmann da Silva > > HACON Automação e Tecnologia Ltda > > Rua Lauro Linhares 589 - Bairro Trindade > > Florianópolis - SC - Brasil > > CEP 88036-001 > > Fone/Fax: 55 48 333-0699 > > Site: http://www.hacon.com.br/ > > Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > ---------------------------------------- > > > > > > > > -- > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > Para ver as mensagens antigas, acesse: > > http://br.groups.yahoo.com/group/delphi-br/messages > > > > Para falar com o moderador, envie um e-mail para: > > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > > > > > *Yahoo! Grupos, um serviço oferecido por:* > > > > > > ------------------------------------------------------------------------ > > *Links do Yahoo! Grupos* > > > > * Para visitar o site do seu grupo na web, acesse: > > http://br.groups.yahoo.com/group/delphi-br/ > > > > * Para sair deste grupo, envie um e-mail para: > > [EMAIL PROTECTED] > > > > <mailto:[EMAIL PROTECTED]> > > > > * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do > > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>. > > > > > > > > > > _______________________________________________________ > Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e > concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/ > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > > Yahoo! Grupos, um serviço oferecido por: > <http://br.i1.yimg.com/br.yimg.com/i/071005_324418_pop_ps2_celv550.gif> > > ________________________________ > > Links do Yahoo! Grupos > > > * Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/delphi-br/ > > * Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do > Yahoo! <http://br.yahoo.com/info/utos.html> . > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > _______________________________________________________ > Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/ > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > > Yahoo! Grupos, um serviço oferecido por: > > > ________________________________ > > Links do Yahoo! Grupos > > > * Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/delphi-br/ > > * Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! <http://br.yahoo.com/info/utos.html> . -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html