Para os desenvolvedores Delphi, mapeamento objeto relacional (Object-Relational Mapping -ORM) e persistência de dados nunca foi um problema, aliás, convivemos durante anos sem nem mesmo ouvir esses termos. Nosso framework de “persistência” se chama dbExpress, aliado ao ClientDataSet. Mapeamento? Responda-me sinceramente prezado amigo leitor, você já criou uma classe chamada “Cliente”? Provavelmente a maioria dirá que não. Para que é preciso criar uma tabela chamada Cliente no banco, depois uma classe chamada Cliente, se simplesmente colocamos no DataModule um TClientDataSet que manipula diretamente esses dados? Sinceramente, eu não vejo utilidade nenhuma um desenvolvedor Delphi criar um diagrama de classes (domínio) representando o que seria o modelo ER (Entidade Relacionamento) do banco de dados. A menos que você utilize um framework de mapeamento objeto/relacional, de persistência, ou construa o seu próprio. Aí a história muda.
Ao utilizar um framework de persistência, passamos a usar boas práticas de desenvolvimento e programação orientada a objetos. Deixamos a SQL de lado, passamos a criar objetos ao invés de inserir registros. Passamos a nos concentrar mais nos problemas dos nossos clientes, que é o que realmente importa, do que nos problemas de infraestrutura da aplicação. Deixamos muitos dos detalhes inerentes à comunicação com o banco de dados por conta do framework. Passamos a aplicar em situações reais poderosos padrões de desenvolvimento.
O Hibernate é o framework de mapeamento objeto relacional mais popular e poderoso do mercado. Ele foi originalmente desenvolvido para a plataforma Java. Ganhou adeptos e uma grande comunidade ao redor do mundo. É um framework robusto, consolidado, maduro, muito bem testado. E a melhor parte: o Hibernate ganhou uma versão para o .NET, chamada intuitivamente de NHibernate. Com isso, tudo o que já existia de bom e de melhor no Hibernate ficou ao alcance de uma outra grande comunidade de desenvolvedores, o que inclui nós desenvolvedores Delphi. Nesta edição, Paulo Quicoli traz um excelente artigo sobre NHibernate com Delphi.
Ainda nesta edição, veja como trabalhar com tabelas de sistemas do Firebird. Também aprenda a criar sistemas que suportam plugins, como a maioria dos softwares profissionais existentes no mercado atualmente. Na sessão PHP, excelentes dicas de Delphi for PHP para os desenvolvedores Web.
Lista completa dos artigos da edição:
DataSetProvider e BeforeUpdateRecord
Guinther Pauli
Integração com XML - ADO.NET e ClientDataSet
Guinther Pauli
Firebird
Manipulando tabelas de sistema
Daniel Sobrinho Laporte
Persistência de Objetos
Usando o Delphi com o mais popular e poderoso framework de Mapeamento Objeto / Relacional
Paulo Quicoli
Desenvolvendo aplicativos com suporte a Plugins
Aprenda como modificar sistemas sem alterar uma única linha de código
Rafael Stavarengo
Dicas de Delphi for PHP
Google Maps, Segurança, Banco de Dados e JavaScript
Rafael Silva
Design Patterns para o mundo real
Singleton, Factory e DAO
Ricardo Coelho
Na edição digital, o leitor pode conferir 3 vídeo-aulas exclusivas:
Criando uma camada de persistência em aplicações Web ASP.NET
Guinther Paul
DLL's com Type Library
Guinther Pauli
dbExpress - Trabalhando com metadados e schemas
Guinther Pauli
Leitores que compram a edição também ganham 4 vídeo-aulas de brinde:
Desenvolvimento Web vs. Desktop: passando dados entre formulários
Atualizador automático de sistemas
Criando gráficos com DBChart
Usando a linguagem nativa do Rave Reports para incluir lógica nos relatórios
Agradeço a toda equipe editorial e colaboradores pelo empenho e dedicação na construção de mais uma bela edição da maior e melhor revista para desenvolvedores Delphi do Brasil.
Editor Geral
Guinther Pauli
Editores Técnicos
Paulo Quicoli
Daniel Laporte
Rodrigo Carreiro
Comissão Editorial
Vitor Luiz Rubio
Rafael Stavarengo
Acesse agora a edição em formato digital
Assine a versão impressa da Revista ClubeDelphi
Conheça nosso site - DevMedia
Boa leitura!
Guinther Pauli
Editor Geral – guinther@devmedia.com.br
Certificado Delphi 3,5,6,7,2005,2006,Web,Kylix
Microsoft Certified: MCP,MCAD,MCSD.NET,MCTS,MCPD (ASP.NET,C#)
guintherpauli.blogspot.com
twitter.com/guintherpauli
