Delphi persistencia

Boa noite pessoal…
Estou aqui a desenvolver uma aplicação (um trabalho de facul), e estou dividindo
em model, view, persistencia…
Uma unidade é o modelo , outra o formulario, agora estou com duvida de como criar o dao
ou seja a persistencia…

alguem tem algum exemplo de que componentes usar?
pq eu tenho um exemplo usando o TSQLQuery, porem naum quero usar num
formulario esse componente e sim em linha de comando…

grato,.

Olá Java_Terminator!

Deixa eu ver se entendi, você está desenvolvendo com Delphi? Se sim, não sei se os moderadores aprovam
(logo aparece algum dando um toque) mas de qualquer modo vamos lá!

Imagino que você tenha montado sua View e Controller (MCV clássico) ou sua View e seu Presenter.
Agora você está com dúvida sobre a persistência.
Na verdade você poderia utilizar o conceito de DAO para persistir seus Objetos e como componentes
eu sugiria usar o TSQLConnection com o TSQLDataSet ou TClientDataSet (vai depender da sua necessidade)

Você faz muito bem em não ter esse código direto no formulário. E se você não quiser usar componentes
em um DataModule (basicamente onde você insere componentes de acesso a dados) você pode criar
em tempo de execução esses componentes que te falei em sua classe DAO. :slight_smile:

Tenta especificar um pouco melhor seu problema que eu tento ajudar.

Abraços!

Basicamente, no seu servidor de aplicação vão ter os TSQLQuery em um datamodule. Você pode ter um datamodule “Service” com os providers, fechando sua Model. Na control, na aplicação, você vai ter os seus ClientDataSets e as chamadas ao servidor de aplicação pra ser sua Model.

E os formulários, obviamente, a View.

Outro forma é usar o ECO, que é um framework MVC do Delphi muito poderoso, embora a Codegear não tenha conseguido mudar mentalidade dos desenvolvedores Delphi em trabalhar com padrões. Sem falar que deveriam fazer algum wizard pra ajudar na tarefa de migração.

Boa marcosalex,

Lembrando Java_Terminator que essa dica é válida tanto para aplicações DataSnap como client/server
onde você não teria um “Service”. O conceito é o mesmo.

Abraços!