Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre novidades.
LiveBindings e FireMonkey
Com o lançamento do Delphi XE 2, os desenvolvedores puderam contar com uma diversidade de novos recursos de suma importância quando o assunto é a elaboração de aplicações melhores estruturadas, como é o caso do LiveBindings, um mecanismo que utiliza expressões para a interligação entre os objetos de uma forma rápida e simples, e o FireMonkey, a plataforma da Embarcadero que possibilita a criação de Softwares mais ricos visualmente, além de possibilitar que a aplicação em questão seja disponibilizada para vários Sistemas Operacionais. Embora sejam recursos bem recentes, tais tecnologias se popularizam cada vez mais, pois trazem uma diversidade de benefícios que podem aumentar a produtividade e possibilitam que o desenvolvedor empregue diversos conceitos de OO em seus projetos. Neste artigo, primeiramente é apresentada uma rápida introdução ao recurso de LiveBindings utilizando a plataforma FireMonkey como base, demonstrando um simples exemplo prático para conectar dois objetos através de suas propriedades, ilustrando a familiarização com tal funcionalidade. Posteriormente, é apresentado um exemplo que emprega este recurso em conjunto com DataSets para a elaboração de uma aplicação conectada a um banco de dados, onde o conceito Master-Detail é utilizado para a tabela de venda e seus itens. Para concluir, o último exemplo demonstra como empregar LiveBindings e Generics, sendo este último uma funcionalidade importante que possibilita a utilização de tipos parametrizados, com o intuito de interligar objetos criados pelo próprio desenvolvedor com o mecanismo de LiveBinding em tempo de execução, apresentando algumas das possibilidades obtidas com o emprego de tais tecnologias.


Em que situação o tema é útil
Este artigo apresenta uma introdução ao recurso de LiveBindings e exemplos práticos de forma simplificada para o emprego desta importante funcionalidade nas aplicações cotidianas, possibilitando assim obter um aumento da produtividade no desenvolvimento de softwares para o setor comercial que empregam o conceito de Orientação a Objetos, utilizando como plataforma base o FireMonkey, mas é importante salientar que este recurso também está disponível para a plataforma VCL.

A Orientação a Objetos trouxe de fato inúmeras vantagens para a arquitetura de aplicações cada vez mais bem estruturadas, otimizadas e etc. São vários os recursos que facilitam o cotidiano da equipe de desenvolvimento, não só na elaboração, mas também durante as fases de correção e manutenção, trazendo uma diversidade de benefícios, como é o caso do aumento da produtividade e a fácil compreensão do código fonte. Até algum tempo atrás, o Delphi não trazia por padrão recursos importantes dentro deste contexto para os desenvolvedores que quisessem aplicar esta metodologia em seus softwares. Após o lançamento da versão XE 2, novas funcionalidades foram adicionadas ao RAD, possibilitando assim unir toda a interface de desenvolvimento rápido do Delphi com muitos dos recursos presentes na Orientação a Objetos, onde uma funcionalidade inserida que merece destaque é o DataBinding ou Ligação de Dados, uma tecnologia já conhecida e muito popular em outros ambientes de desenvolvimento, onde é possível efetuar a ligação de objetos à interface gráfica da aplicação de uma forma simples e rápida, em outras palavras, unir as regras de negócio a UI (User Interface). Nomeado LiveBindings na ferramenta da Embarcadero, este recurso tem por base expressões relacionais conhecidas como expressões de ligação, que podem ser unidirecionais ou bidirecionais, onde o mecanismo desta funcionalidade permite que os valores das propriedades de determinado controle final sejam alterados com base na expressão definida e um objeto de origem, sendo este recurso também disponibilizado para a ferramenta de desenvolvimento C++ Builder XE 2. Uma expressão dentro deste contexto pode ser definida como uma string que contém outra propriedade do mesmo objeto, uma propriedade de outro objeto, ou ainda ser mais complexa, possuindo operadores, funções e etc. Diante deste fator, um objeto qualquer como um botão pode ser facilmente interligado a outro objeto, como um label, uma fonte de dados ou outro botão, por exemplo, empregando tais expressões de ligação e possibilitando assim que a alteração de determinado valor do objeto em questão reflita em outro objeto, onde não são necessários códigos fontes para esta funcionalidade, salvo os casos onde o mecanismo deve ser notificado caso ocorra alguma atualização das informações entre as entidades envolvidas, processo este que pode ser realizado através de eventos e métodos específicos, por exemplo. É importante ressaltar também que o recurso de LiveBindings não só pode ser empregado para os objetos adicionados em tempo de Design, mas também para os criados em tempo de execução, onde simples trechos de código podem ser utilizados, unindo recursos interessantes como Generics, que em suma são tipos parametrizados. Para empregar o recurso de LiveBindings em seus projetos, o desenvolvedor conta com diversas alternativas, podendo utilizar da propriedade LiveBinding presente em determinados controles, a opção New LiveBinding presente no menu de contexto dos objetos suportados, inserir os componentes manualmente, dentre outras formas.

Quanto à estrutura do mecanismo de LiveBindings, ela é constituída basicamente pela origem, expressão de origem, controle e expressão de controle. A origem pode ser um elemento qualquer como um objeto, um DataSet, uma lista e etc. A expressão de origem é uma string onde o nome de determinada propriedade do objeto de origem é informado para que a ligação seja realizada, podendo também conter uma expressão melhor elaborada, contendo uma função, tal como UpperCase(Text). O controle é o objeto na qual determinada informação será visualizada, em outras palavras, o destino final da mesma. Quanto à expressão de controle, ela também é uma string, porém, deve conter a propriedade alvo do objeto de controle que será afetada. A ...

Quer ler esse conteúdo completo? Tenha acesso completo