Menu

Tradução

Português English Español Français

Data Modules em Delphi

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 componentes especiais que permitem organizar e gerenciar a lógica de negócios e os componentes de acesso a dados de uma aplicação de forma centralizada e estruturada. Um Data Module é um contêiner que pode conter datasets, data sources, conexões de banco de dados e outros componentes relacionados a dados, mas sem interface visual própria.

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

Recursividade em Delphi: Conceitos, Exemplos e Aplicações Práticas

Neste post, você aprenderá quando usar recursividade em Delphi, suas vantagens e desvantagens, além de um exemplo prático implementa...