Artigo Clube Delphi 106 - tiOPF na Prática
Artigo da Revista Clube Delphi Edição 106.
Boa Idéia
tiOPF na Prática
Faça um controle de cheques usando orientação a objetos – Parte II
Neste artigo veremos |
·Uma introdução ao framework tiOPF; ·Como utilizá-lo em um sistema comum; ·Como gerar relatórios. |
Qual a finalidade? |
·Mostrar o uso adequado de ferramentas que auxiliam no desenvolvimento orientado a objetos e como aplicá-las no dia a dia. |
Quais situações utilizam esses recursos? |
·No desenvolvimento de sistemas em geral. |
Resumo do DevMan
O tiOPF é um dos mais antigos e estáveis frameworks ORM, Object/Relational Mapper, para Delphi. É utilizado por grandes empresas no exterior e, neste artigo vamos continuar sua utilização no desenvolvimento do sistema de controle de cheques. Será visto como gerar relatórios baseando-se nos objetos existentes.
No artigo anterior, vimos que o tiOPF é um framework que realiza o mapeamento objeto relacional para nós, assumindo a responsabilidade de persistir objetos de negócio em tabelas de um banco de dados. Quando desenvolvemos um sistema aplicando a orientação a objetos nos deparamos com um problema chamado impedância objeto/relacional. Resumidamente esse problema representa a diferença existente entre esses dois mundos.
Par exemplificar, iniciamos um projeto com o objetivo de controlar cheques usando orientação a objetos. Continuando com o projeto, nos resta manter o registro dos cheques, permitir que uma consulta seja feita e geração de um relatório. Vamos agora criar nossa classe que representa os cheques. Como já citado na primeira parte deste artigo, o tiOPF oferece para nós uma estrutura básica pronta para inserção, exclusão e consulta de objetos que é realizada através de coleções de objetos, representadas por classes do tipo TtiObjectList.
Retornando ao projeto
Caso não tenha tido acesso ao artigo da edição anterior ou mesmo não tenha desenvolvido o exemplo citado na edição, o ideal é que você faça o download do código-fonte no site da DevMedia e continue de onde paramos para que possamos entender de forma mais tranqüila o que veremos nessa edição. O código-fonte pode se obtido no link www.devmedia.com.br/resumo/download.asp?site=3&idrevista=126.
Siga abrindo o arquivo produzido no artigo anterior e logo em seguida a unit BOM.pas. Nós vamos criar uma nova classe chamada TCheques, como ilustra a Listagem 1.
Listagem 1. Classe TCheque
01 TCheques = class;
02 TCheque = class;
03
04 TCheques = class(TtiObjectList)
05 private
05 protected
06 function GetItems(i: integer): TCheque; reintroduce;
07 procedure SetItems(i: integer; const Value: TCheque); reintroduce;
08 public
09 property Items[i:integer]: TCheque read GetItems write SetItems;
10 procedure Add(AObject: TCheque); reintroduce;
11 procedure Clear; override;
12 procedure Save; override;
13 end;
Nas linhas 1 e 2 declaramos antecipadamente as duas classes que usaremos. Veja na linha 4 que criamos a classe TCheques herdando de TtiObjectList, que é base para lista de objetos oferecendo métodos para salvar e carregar as informações. Sua implementação também é bem simples, como mostra a Listagem 2.
Listagem 2. Implementação da classe Tcheques
01 procedure TCheques.Add(AObject: TCheque);
02 begin
03 inherited Add(AObject);
" [...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo