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