Conforme vamos criando nossos projetos é natural procurarmos maneiras de tornar nosso desenvolvimento mais produtivo, adotando práticas de programação que nos auxiliem nessas tarefas. Em Delphi e em outras linguagens temos a possibilidade de utilizar o conceito de herança para “quebrar galhos”, facilitando a manutenção, centralizando a codificação e evitando o desgaste de bolar novas interfaces visuais, por exemplo, mas não é comum desenvolvermos herança em Data Modules. Talvez você possa pensar que não existem tantas justificativas para fazer isto, mas a verdade é que utilizando este recurso e um pouco de criatividade podemos desenvolver soluções muito interessantes que nos poupem tempo de projeto. Vamos montar um simples exemplo e ver na prática como isso pode ser possível. Considere a estrutura de um banco de dados conforme a Figura 1.
Figura 1. Modelagem do banco de dados proposto
Não entrarei em detalhes sobre como criar o
banco de dados, presumindo que você já o criou conforme a estrutura da Figura 1. O que demonstraremos aqui são
maneiras de tornar mais produtivo seu desenvolvimento, fazendo com que tarefas
de configuração efetuadas por nós, sejam efetuadas de maneira automática, via
codificação. Vamos supor que você deseja realizar um SELECT que obtenha as
instruções de cliente e endereço. Levando em consideração as configurações cotidianas,
como ProviderFlags (nos campos) e UpdateMode nos DataSetProviders, por exemplo,
gastamos certo tempo que obviamente poderia ser economizado, sem contar que
toda vez que é adicionado um novo componente ao Data Module, temos que
prepará-lo para receber as novas configurações. Neste caso teríamos em nosso
DataSet uma instrução SQL como a da ...