O que é o EverClassy Dataset?

Que tal se os forms da sua aplicação começarem a consumir objetos ao invés de variáveis isoladas e dados planos?

Que tal construir forms capazes de manipular objetos nativos do Delphi diretamente por meio de componentes dataware, como TDBGrid ou TDBEdit?

Que tal construir sua aplicação com as vantagens de objetos persistentes, mas ainda assim conseguir aproveitor o código, o design e todo o conhecimento acumulado em anos no uso dos componentes dataware do Delphi?

Com o EverClassy Dataset o programador tem acesso direto aos objetos da aplicação a partir de componentes dataware sem a necessidade de código intermediário!

O componente EverClassy Dataset é capaz de consumir objetos nativos do Delphi, mapeando propriedades como campos, tornando possível o completo aproveitamento de todo o arsenal de componentes dataware que fizeram o Delphi tão famoso!

O EverClassy Dataset dá ao programador a oportunidade de carregar um dataset com objetos em memória, ao invés de registros vindos de um sistema de banco de dados. Pode-se então operar tais objetos diretamente a partir do componentes de banco de dados da VCL, ou seja, os componentes dataware!

Vantagens

As instâncias de classes assumem aa forma de registros e as propriedades a forma de fields, dando condição a um programador de conectar objetos nativos do Delphi a componentes dataware. Tal funcionalidade é particularmente valiosa em aplicações desenhadas sob conceitos verdadeiramente orientados a objetos ou seja, Domain Driven Design (Desenho Dirigido pelo Domínio), ou DDD.

No entanto, aplicações com desenhos mais clássicos finalmente têm a chance de evoluir para um Domain Driven Model (Modelo Dirigido pelo Domínio), no qual a lógica de negócio (ou de domínio) está encapsulada em classes de domínio, tirando proveito de todo o poder de uma linguagem de programação orientada a objetos. Todo o tempo e dinheiro investidos em artefatos de Interface Gráfica (GUI) podem ser aproveitados enquanto a implementação de negócio de base pode ser reconstruída (por meio de refactoring) para este novo e excitante paradigma.

Tecnologia

Graças a seu desenho baseado em delegação, o EverClassy Dataset é suficientemente flexível para trabalhar com qualquer fonte de objetos, possibilitando a escolha de uma larga gama de frameworks, tanto os de terceiros quanto os construídos in-house.

O componente funciona como qualquer outro dataset, mas a fonte de dados é uma coleção de objetos, como a bem conhecida classe TObjectList, ao invés de um conjunto de registros retornado por um banco de dados. Tal fato dá ao programador a liberdade de projetar e implementar Objetos de Domínio (Domain Objects) que podem existir unicamente em memória ou ser persistidos em um documento XML ou mesmo em um repositório em banco de dados! Tudo depende unicamente do programador!

Plataformas

O EverClassy Dataset está disponível para Delphi e RAD Studio XE2 e versões seguintes, incluindo a nova versão Delphi 10.1 Berlin (tanto em versões Win32 quanto Win64). Porém, se você tem interesse em outra versão, por favor entre em contato por meio de support@inovativa.com.br e nós veremos o que podemos fazer.

Por que usar Objetos de Domínio?

Objetos de Domínio constituem a última palavra em termos de modelagem e implementação de aplicações de negócios, dando ao programador um nível de abstração muito mais alto! Imagine-se ser capaz de descrever os conceitos de Domínio existentes na realidade diretamente em código da aplicação, tirando vantagem de todo o rico conjunto de recursos de programação oferecido por uma linguagem orientada a objetos como o Delphi!

Agora já se pode parar de imaginar e passar a construir tais aplicações imediatamente graças ao EverClassy Dataset para sinergicamente combinar implementações de regras de negócio robustas sobre a tecnologia de objetos combinada com os componentes dataware ultraprodutivos já conhecidos e adorados!

Histórico de versões

08/Março/2018 - 1.0.11
  1. Correção da ordenação de registros por campos envolvendo tipos temporais
01/Fevereiro/2018 - 1.0.10
  1. Suporte a compatibilidade de código com Delphi 10.2 Tokyo
24/Maio/2017 - 1.0.9
  1. Correção de bug que, em condições particulares, levava a um loop infinito durante a aplicação de um filtro no dataset
  2. Adição da propriedade RealRecordCount em TECDataset
  3. Adição de documentação relativa a filtragem
21/Setembro/2016 - 1.0.8
  1. Suporte a compatibilidade de código com Delphi 10.1 Berlin
14/Março/2016 - 1.0.7
  1. Correção na atualização de RecNo após métodos First e Last
04/Março/2016 - 1.0.6
  1. Correção na atualização de RecNo em vários momentos
29/Dezembro/2015 - 1.0.5
  1. Suporte a compatibilidade de código com Delphi 10 Seattle
15/Outubro/2015 - 1.0.3
  1. Suporte a compatibilidade de código com Delphi XE7
  2. Suporte a compatibilidade de código com Delphi XE8
  3. Correção da transferência de valor entre propriedade e campo Boolean
  4. Troca do método WhenNewItem por evento WhenNewItem em IECDatasetAdapter
  5. Adição de método Contains em IECDatasetAdapter
  6. Adição do método RefreshRecord em TECDataset
  7. Correção do mapeamento de subpropriedades
22/Setembro/2014 - 1.0.2
  1. Adição de suporte histórico de operações realizadas no dataset (properiedade History)
  2. Inclusão de janela de sobre para o package de design
  3. Melhoria do Guia do Programador
28/Outubro/2013 - 1.0.1
Aprimoramentos diversos no EverClassy Dataset contendo
  1. Adição de suporte a Delphi XE3 em Win32 e Win64
  2. Suporte a campos blob e de imagem
  3. Guia de Referência em formato HtmlHelp
  4. Guia do Programador em formato HtmlHelp
  5. Adição de aplicativos exemplo para VCL e FireMonkey
03/Abril/2012 - 1.0.0
Liberação de estréia do EverClassy Dataset contendo
  1. Suporte a Delphi XE2 em Win32 e Win64
  2. Mapeamento de instâncias nativas do Delphi para registros e propriedades públicas para campos
  3. Suporte ao registro de coleções genéricas para manipulação automática pelo dataset

Fale conosco

Em caso de dúvida ou questão, por favor, envie um e-mail para support@inovativa.com.br. Será uma enorme satisfação fornecer toda a informação necessária a respeito de nossos produtos!