Artigo Webmobile 6 - ASP.NET e POO

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo publicado pela revista WebMobile edição 6

Esse artigo faz parte da revista WebMobile edição 6. Clique aqui para ler todos os artigos desta edição

wm06_capa.JPG

ASP.NET e POO

Criando aplicações web usando técnicas de programação orientada a objetos

 

Muitos desenvolvedores no mundo .NET se questionam sobre qual a melhor forma de se desenvolver uma aplicação web. A tecnologia Web Forms e a IDE do Visual Studio .NET ajudam muito o desenvolvimento rápido de aplicações (RAD – Rapid Application Development), permitindo que criemos soluções completas para web em questão de poucas horas.

Os ASP.NET Server Controls são sem dúvida uma “mão na roda”, basicamente largamos alguns controles de tela no formulário e usando eventos codificamos a lógica da aplicação. Até aí tudo bem, mas dessa forma estamos realmente programando usando técnicas de orientação a objetos? Definitivamente não.

O que proponho neste artigo é uma quebra de paradigma. Quero incentivar você, desenvolvedor .NET, a começar a usufruir imediatamente dos poderosos e fantásticos recurso da programação orientada a objetos. Quero mostrar que a POO, se bem entendida e utilizada, pode trazer inúmeros benefícios para sua solução ASP.NET, conforme destacarei ao longo deste artigo.

Sei que à primeira vista vai ser difícil abandonar o “apelo” visual oferecido pelas ferramentas de desenvolvimento RAD e adotar a POO, mas acredite, os ganhos são imensos: facilidade de manutenção de código, reaproveitamento, modularização de aplicações, desenvolvimento em camadas, separação das regras de negócio da interface do usuário, produtividade, menor impacto na mudança de requisitos e assim por diante.

Sabemos que a POO é assunto para vários livros. De fato, existe muito teoria envolvida e milhares de obras que abordam esse tema. Eu poderia começar este artigo falando da teoria da POO, um pouco de história, princípios básicos, o que é classe, herança, polimorfismo, encapsulamento e por aí vai. A teoria diz que polimorfismo é a capacidade de um método ter diferentes implementações, por exemplo. Isso é óbvio, mas para quem está começando no mundo POO, isso não diz muita coisa.

O que proponho aqui é que façamos um exemplo simples e prático “não OO”. A seguir, vamos adaptá-lo para que use técnicas reais de POO, de forma que mostrarei alguns desses princípios na prática, e não na teoria. Afinal, a POO funciona bem para “quadrados”, “bolas”, “gatos” e “cachorros”, afinal a maioria dos exemplos sobre POO que vejo usa esses “objetos”, não é mesmo? Mas como aplicar a POO no mundo real? Na minha aplicação web? Na minha loja virtual? No meu controle de estoque? No meu Web Service? Vamos lá!

Aplicação “não OO”

Vamos iniciar por uma aplicação extremamente simples. A maneira como ela será implementada será bastante semelhante ao que já temos na maioria das aplicações ASP.NET hoje, ou mesmo nas aplicações desktop (Windows Forms). Usarei aqui o Visual Web Developer 2005 Express Edition Beta 2, mas fique a vontade para usar o Visual Studio 2003, caso queira.

No Visual Web Developer 2005 Express, clique em File>New Web Site. Escolha uma localização “HTTP” para o Web Site (opção Location) e linguagem como C# (opção Language). Dê o endereço “http://localhost/MyOOWebSite” para a aplicação (veja a Figura 1). Observe que, apesar de ser possível utilizar o servidor web integrado, usaremos o IIS para nossos testes. Fique a vontade para usar o servidor de testes local, ao invés do IIS, basta escolher File System.

 

Figura 1. Criando a aplicação ASP.NET no Visual Web Developer 2005 Express.

No formulário principal, coloque dois TextBoxes, um Button e um Label, conforme mostra a Figura 2. A aplicação consiste em uma “calculadora”, ao clicar no botão, vamos somar os dois valores nos TextBoxes e exibir no Label. Apesar de simples, este exemplo será perfeito para identificarmos alguns problemas ao não usar a POO.

 

Figura 2. Aplicação “não OO” faz soma de dois valores.

O código responsável por somar os valores está no evento Click do botão:

 

    protected void Button1_Click(object sender, EventArgs e)

    {

        int X = Convert.ToInt32(TextBox1.Text);

        int Y = Convert.ToInt32(TextBox2.Text);

        int R = X + Y;

        Label1.Text = R.ToString();

   }

 

Aperte F5 ou Ctrl+F5 para rodar e testar a aplicação (Figura 3).

 

Figura 3. Aplicação tradicional usando eventos.

POO, regras de negócio e interface de usuário

Até aqui nada de errado, nossa aplicação faz justamente o que tinha que fazer, não é mesmo? Suponha agora que nosso cliente peça uma versão desktop dessa aplicação web, baseada em Windows Forms. Teríamos que “replicar” o código da calculadora no evento Click do botão da nova aplicação. É claro, esse código é simples e dificilmente precisaria ser modificado devido à mudança no requisito (afinal, uma soma de dois números será sempre X + Y). No entanto, é ideal separar esse tipo de código da interface de usuário.

Você já deve ter ouvido o termo “regra de negócio” (Business Rule) se já desenvolveu uma solução .NET. Mas o que é isso e o que tem a ver com POO? Uma regra de negócio (ler Nota 1) é aquilo que diz respeito ao processo/problema da empresa na qual você está oferecendo sua solução .NET. Por exemplo, se o seu cliente diz assim: “a aplicação precisa oferecer e processar descontos de 10 % nas compras feitas por clientes com mais de 10 anos de cadastro”. Isso é uma regra do negócio da empresa, não importa o tipo de aplicação que você for desenvolver (web, desktop, mobile), ela precisa ser atendida. Em nosso exemplo, a regra é a soma.

 

Nota 1. Regra de negócio

Abrindo um parêntese, na análise de soluções .NET, é importante que esse tipo de requisito seja bem analisado e levantado ainda nas fases iniciais do projeto, claro. Além disso, pessoalmente aconselho a adoção de um processo de software, que permita que um sistema seja bem analisado, projetado, desenvolvido, testado e distribuído. Pessoalmente tenho utilizado o MSF (Microsoft Solution Framework), um conjunto de regras, disciplinas e modelos para criar soluções .NET otimizadas. POO e processo de software são igualmente importantes e andam de “mãos dadas”, portanto achei importante destacar aqui."

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?