Esse artigo faz parte da revista Clube Delphi Edição 85. Clique aqui para ler todos os artigos desta edição

nalizar a compra. Em nossa página inicial vamos permitir ao usuário escolher seu produto através das categorias existentes.

 

Metodologia

A aplicação desenvolvida neste mini-curso é desenvolvida sobre um modelo multicamadas, onde temos: banco de dados, aplicação web (o servidor), camada de persistência e interface (browser). O Modelo no entanto não segue o padrão MVC. Existe uma camada de negócio (Business Logic que é gerada pelo modelo UML construído pelo ECO. De fato, o ECO gera a maioria do código de negócio, com com classes e regras de acordo com a definição do modelo.

Devido a utilização do ECO, a programação utilizada será completamente orientada a objetos (OO). As vantagens dessa abordagem são muitas:

·         Separação lógica entre as partes da aplicação, o que torna o software mais flexível e fácil de manter;

·         Reutilização de código (por exemplo uma mesma validação ou regra de negócio pode ser reutizada em diferentes tipos de interface de usuário);

·         Melhor uso de técnicas de POO, por utilizar o ECO, a programação se torna totalmente orientada a objetos e deixa de ser totalmente orientada a eventos;

·         Menor impacto na mudança de requisito e redução de custos. Uma solicitação de alteração, por parte do cliente, despenderá um esforço muito menor por parte da equipe de desenvolvimento (muitas vezes o ECO faz a maior parte do trabalho), se comparado a um software desenvolvido usando tecnologias tradicionais.

Desvantagens:

·         Investimento em aprendizado;

·         Queda na velocidade de produção da “primeira versão”.

·         O desenvolvimento fica “‘preso” ao ambiente ECO;

 

A lógica de negócio representada no modelo UML garante a independência de interface de usuário podendo ser exposta através de um webform, de um WebService ou até mesmo de um Windows Form. Nesse caso as interfaces utilizariam as classes definidas no modelo UML criando uma maneira do usuário interagir com elas. Esta é a função de uma camada de apresentação, apenas permitir a interação do usuário com a lógica do sistema.

Para desenvolver utilizando essa metodologia é preciso tem em mente o conceito de camadas lógicas. Cada camada é responsável por uma área e elas trocam informações entre si. As áreas de uma aplicação são divididas de acordo com o entendimento de cada um, porém quanto ao ECO podemos relacionar as seguintes:

1.      Banco de dados – O Banco de Dados é utilizado para armazenamento dos objetos. O próprio ECO se responsabiliza pela adequação da estrutura do banco de dados em relação ao modelo de objetos.

2.      Domínio – As classes são armazenadas em um “pacote UML”, um arquivo PAS que contém além das classes de domínio, classes e atributos que definem o modelo UML da regra de negócio, como relacionamentos e constraints.

3.      Persistência – O ECO oferece um conjunto de classes para realização da persistência dos objetos no banco de dados, se encarregando da mesma, retirando assim do desenvolvedor essa obrigação. Veja um exemplo de como persistir um objeto “Usuario”.

 

 

procedure TWebForm1.btnSalvar_Click(

  sender: System.Object; e: System.EventArgs);

var

 obj: Usuario;

begin

  obj := Usuario.Create(EcoSpace);

  obj.Nome := txtUsuario.Text;

  obj.Endereco := txtEndereco.Text;

  obj.Email := txtEmail.Text;

  obj.Senha := txtSenha.Text;

  UpdateDatabase;

  Response.Redirect('Home.aspx');

end;

 

 

4.      Apresentação: São as classes que utilizam as classes de domínio e de persistência. É a interface que o usuário vê e utiliza. Essas classes são do tipo da interface a ser construída, seja ela ASP.NET, Windows Forms etc.

 

Na figura a seguir vemos uma representação das divisões da aplicação

 

 

Página Principal

Inicie um novo ECO WebForm acessando o menu File>New>Other>New ASP.NET Files>Eco ASP.NET Page, renomeie-o como “Principal.aspx”. Ligue o RootHandle ao ECOSpace através de sua propriedade EcoSpaceType. ...

Quer ler esse conteúdo completo? Tenha acesso completo