Menu

Tradução

Português English Español Français

Data Modules em Delphi: Organizando Dados e Regras da Aplicação

Nesse post iremos aprender o que são os Data Modules em Delphi, para que server e exemplo prático.

 

Data Modules em Delphi
Data Modules em Delphi

Introdução

Os Data Modules em Delphi são recursos fundamentais para organizar e centralizar a lógica de acesso a dados em uma aplicação, promovendo uma arquitetura mais limpa e fácil de manter. Eles funcionam como contêineres não visuais capazes de armazenar datasets, data sources, conexões com banco de dados e outros componentes relacionados a dados.

Ao utilizar Data Modules, é possível separar a lógica de dados da interface visual, facilitando a reutilização de código, a manutenção do sistema e a aplicação de boas práticas no desenvolvimento de aplicações Delphi.

O que é um Data Module em Delphi?

Um Data Module em Delphi é um tipo especial de formulário sem interface visual, utilizado para centralizar componentes e regras relacionadas ao acesso a dados e à lógica de negócios de uma aplicação. Diferente de um formulário comum, o Data Module não possui botões, campos ou controles visuais, sendo usado exclusivamente para organização interna do projeto.

Dentro de um Data Module, é comum armazenar componentes como:

  • TFDConnection ou TADOConnection

  • TFDQuery, TADOQuery e outros datasets

  • TDataSource

  • Providers e componentes auxiliares de banco de dados

O principal objetivo do Data Module é separar a camada de dados da interface gráfica, permitindo que vários formulários compartilhem os mesmos componentes de acesso a dados sem duplicação de código.

Ao utilizar Data Modules, o desenvolvedor obtém benefícios como:

  • Melhor organização do projeto

  • Reutilização de componentes de dados

  • Facilidade de manutenção

  • Código mais limpo e desacoplado

  • Aplicação de boas práticas de arquitetura em Delphi

Para que Servem os Data Modules em Delphi

Os Data Modules servem para:

  1. Centralizar a Lógica de Dados: Eles agrupam componentes de acesso a dados e lógica de negócios em um único lugar, facilitando a manutenção e o gerenciamento do código.
  2. Reutilização de Componentes: Permitem a reutilização de componentes de acesso a dados e lógica de negócios em diferentes partes da aplicação.
  3. Separação de Concerns: Ajudam a separar a lógica de negócios da interface do usuário, seguindo o princípio de separação de preocupações (Separation of Concerns).
  4. Facilitar a Manutenção: Ao centralizar a lógica de dados, qualquer alteração ou atualização pode ser feita em um único lugar, simplificando a manutenção do código.

Quando os Data Modules Devem Ser Utilizados

Os Data Modules devem ser utilizados em diversas situações, incluindo:

  • Aplicações Grandes: Em projetos de grande porte, onde a lógica de dados é complexa e espalhada por várias partes da aplicação.
  • Reutilização de Código: Quando componentes de acesso a dados e lógica de negócios precisam ser reutilizados em diferentes formulários ou partes da aplicação.
  • Organização do Código: Para manter o código organizado e separado, facilitando a manutenção e evolução da aplicação.

Como Utilizar Data Modules em Delphi

Vamos ver um exemplo prático de como criar e usar Data Modules em Delphi.

Configurando o Ambiente

  1. Abrindo o Delphi: Abra o Delphi e crie um novo projeto VCL Forms Application.
  2. Configurando o Formulário Principal: Adicione os seguintes componentes ao formulário:
    • TButton (Button1)
    • TDbGrid (DbGrid1)
  3. Salve o Formulário principal como MainFormUnit.

Criando um Data Module

  1. Criação do Data Module: Com o projeto aberto crie um novo Data Module.
    • Vá em File > New > Other... e selecione Data Module.
  2. Salve o Data Module como DataModuleUnit.
  3. Adicione 3 componentes (TADOConnection, TADOTable e TDataSource).
Delphi

unit DataModuleUnit;

interface

uses
  System.SysUtils, System.Classes, Data.DB, Data.Win.ADODB;

type
  TDataModule1 = class(TDataModule)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DataModule1: TDataModule1;

implementation

{%CLASSGROUP 'Vcl.Controls.TControl'}

{$R *.dfm}

end
  

Neste exemplo, criamos um Data Module chamado TDataModule1 que contém um componente de conexão TADOConnection, uma tabela TADOTable, e um data source TDataSource.

Na propriedade DefaultDatabase do componente ADOConnection1 coloque world e desmarque a propriedade LoginPrompt, na propriedade Connection do compomente ADOTable1 ligue com ADOConnection1 e na propriedade TableName coloque country, na propriedade DataSet do componente DataSource1 ligue com ADOTable1.

Nesse exemplo iremos utilizar o MySql, utilizando o banco de dados world e a tabela country.

DataModule - Ilustração do código acima.

Utilizando o Data Module

Para utilizar o Data Module em um formulário, você deve referenciá-lo na cláusula uses e acessar seus componentes.

Delphi

unit MainFormUnit;

interface

uses
  Vcl.Forms, Vcl.StdCtrls, Vcl.DBGrids, DataModuleUnit, Data.DB;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  DataModule1.ADOConnection1.ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=MySql ODBC 32 Ansi;Initial Catalog=world;';
  DataModule1.ADOConnection1.Connected := True;
  DataModule1.ADOTable1.Open;
end;

end.
  

Neste exemplo, o formulário principal TForm1 utiliza o TDataModule1. O componente TDBGrid está ligado ao TDataSource do Data Module, e ao clicar no botão, a conexão ao banco de dados é aberta e a tabela é carregada.

Caso esteja com dúvida sobre a conexão de banco de dados com MySql, veja o post do link a seguir: https://www.codedelphi.com/2024/06/banco-de-dados-em-delphi.html/

Benefícios dos Data Modules

  1. Centralização: Todos os componentes de dados estão centralizados, facilitando a localização e manutenção do código relacionado a dados.
  2. Reutilização: Os componentes de dados podem ser reutilizados em diferentes formulários ou módulos da aplicação, evitando duplicação de código.
  3. Facilidade de Manutenção: Alterações nos componentes de dados ou na lógica de negócios podem ser feitas em um único lugar, refletindo em todas as partes da aplicação que utilizam o Data Module.
  4. Organização: Mantém o código organizado e separado, seguindo boas práticas de design de software.

Veja abaixo a ilustração do projeto utilizando Data Modules:

Ilustração do projeto.

Código fonte do exemplo

Você pode fazer o download do exemplo do projeto através do repositório do github: https://github.com/Gisele-de-Melo/DataModule

Conclusão

Os Data Modules são uma ferramenta poderosa em Delphi para organizar e gerenciar a lógica de negócios e componentes de acesso a dados. Eles promovem a centralização, reutilização e manutenção do código, além de melhorar a organização da aplicação. Com este guia, você aprendeu a criar e utilizar Data Modules em Delphi, implementando um exemplo prático para facilitar a compreensão. Ao adotar esta abordagem, você pode construir aplicações mais robustas, escaláveis e fáceis de manter.

Posts Relacionados



Nenhum comentário:

Postar um comentário

TParallel em Delphi: Paralelismo na Prática

Neste artigo, você aprenderá o que é paralelismo em Delphi, como funciona o TParallel, quando utilizá-lo, além de um exemplo prático comp...