Software Development Kit
to the Delphi-Win32 and Free Pascal compilers
Home > Wiki > br/Visão geral

br/Visão geral

english (en) | português (br)

Para construir uma aplicação com PressObjects, é importante ter um entendimento básico de seus frameworks e como eles se relacionam.

Contents

Data Type, o framework principal

O data type framework, ou Subject, é um conjunto de classes utilizado como base para os objetos de negócio da aplicação.

Este framework é composto pela classe TPressObject (base para uma classe de negócio), diversos tipos de atributos, pelo objeto PressModel que guarda informações das classes de negócio e atributos usados pela aplicação, e várias classes auxiliares como Metadata e Memento.

Veja mais informações sobre classes de negócio neste artigo.

Se você vem do TDataSet, veja o artigo do TDataSet ao MVP e OPF

Metadata

Toda classe de negócio precisa de mais informação do que é possível armazenar através de RTTI. Para tanto o data type do PressObjects possui classes para interpretação e armazenamento de metadata das classes de negócio.

Leia mais sobre criação e utilização de metadata neste artigo.

Memento, ou SavePoint

As alterações feitas em um objeto de negócio podem ser monitoradas para o caso de ocorrer a necessidade de voltar os dados em um ponto do passado. A este recurso é dado o nome de SavePoint, que implementa o padrão de projeto Memento, e demais informações podem ser obtidas aqui.

MVP, o framework de apresentação

O framework MVP é o responsável pela apresentação dos dados contidos nos objetos de negócio. Para quem conhece a família TDataSet, o data type framework substitui um descendente de TDataSet (TTable, TQuery e respectivos descendentes de TField) e o MVP substitui os controles DBware, no entanto, totalmente orientado a objetos.

Embora um framework MVP seja bastante complexo, a interface do MVP do PressObjects é bastante simples de usar e otimizar. Basta um conjunto de quatro passos simples (que será simplificado ainda mais depois da conclusão do Project Explorer):

  • Criar a classe presenter de um objeto de negócio. Por exemplo, a classe TProduto ganhará uma classe TProdutoEditPresenter que será usada para alterar um objeto TProduto;
  • Sobrecarregar um método virtual desta classe para ligar cada atributo do objeto de negócio a um controle visual do formulário. Uma linha por atributo;
  • Registrar esta classe na área initialization da unit, ligando ao seu respectivo objeto de negócio;
  • Criar o form com controles simples (Edit, StringList, ComboBox, CheckBox, etc) e registrá-lo em sua respectiva classe presenter (neste exemplo, TProdutoEditPresenter) na área initialization de sua unit.

Veja um pouco mais sobre o assunto no artigo MVP.

OPF, o framework de persistêcia

O PressObjects possui um robusto conjunto de classes para ajudá-lo a persistir e reinstanciar seus objetos de negócio. Apenas crie um arquivo de configuração (ou coloque os dados de forma estática na aplicação, veja as opções aqui) e crie a DDL do banco com a ajuda do framework.

Uma vez tendo criado o banco e configurado o conector, um simples Session.Store(Produto) verifica a conexão e controla transação, gera e envia ao banco todas as DMLs necessárias para gravar ou alterar o objeto, incluindo composições e agregações (lookup, mestre-detalhe, etc.)

Veja mais sobre persistência neste artigo.

Criando uma aplicação

Criar uma aplicação requer alguns cuidados especiais, tal como alterar o tradicional Application.Run. Veja mais sobre este item aqui.