msdn23_capa.jpg

Clique aqui para ler todos os artigos desta edição

 

Carrinho de Compras

por Igor R. Alcantara

Este artigo discute

Este artigo usa as seguintes tecnologias:

·          Programação Orientada a Objetos

·          UML (Diagrama de Classes)

·          Objetos de Sessão

·          Generics

ASP.Net 2.0, C#

 

Download:

CarrinhoCompras.zip (6KB)

Chapéu

ASP.Net

 

 

Quando se fala em aplicações para a web, invariavelmente pensa-se em comércio eletrônico. Não que este seja o único tipo de aplicação feita para Internet, mas sem dúvida é um dos principais. Costumo dizer que todo programador web se não desenvolveu algum tipo de e-commerce, algum dia ainda o fará. Neste tipo de sistema, uma dúvida que sempre recebo por e-mail ou através dos fóruns que freqüento, é como montar um carrinho de compras que guarde temporariamente os produtos de uma venda antes que a mesma seja concluída. Longe de estabelecer uma regra final sobre o assunto, este artigo discute algumas possibilidades e sugere uma solução através do uso dos conceitos de Programação Orientada a Objetos no ASP.Net.

 

Definindo o Produto

Antes de começar a implementar o código é preciso definir que informações são importantes a respeito de um produto. Para este exemplo, vamos implementar apenas as informações básicas de um produto e de um carrinho de compras. Mas tenha em mente que em alguns casos serão necessárias outras informações como código do departamento a que pertence o produto, opcionais para o produto (cor, tamanho, etc), além de ser considerada a quantidade do produto em estoque. Para demonstrar que atributos e operações serão implementados, construí o diagrama de classes exibido na Figura 1. Existem três classes envolvidas: as mais óbvias Carrinho e Produto e mais uma chamada de ItemCarrinho, que atribui uma quantidade a um produto, constituindo um item do carrinho de compras.

image002.jpg

Figura 1. Diagrama de Classes feito no Visual Studio 2005 Team Suíte Beta 2

 

Definido o diagrama, chegou a hora de implementar as classes. Tanto as classes quanto os códigos demonstrados neste artigo foram desenvolvidos no Visual Studio 2005 Tem Suíte Beta 2. Se você está usando uma versão anterior, algumas mudanças precisam ser feitas. A primeira delas, a qual vamos falar agora, é a respeito do objeto oListaProdutos presente na classe Carrinho. Este usa o novo conceito de Generics, sendo uma lista de Itens do Carrinho de Compras. Para outras versões do Visual Studio, o correto seria fazer uma lista de Objects, já que o uso do Generics nestas versões mais antigas não é possível.

Observe também que nenhuma exceção foi tratada nesta classe. Em Programação Orientada a Objetos existe uma palavra chave chamada Responsabilidade. Isso quer dizer que cada entidade existente tem a sua responsabilidade e obedecer a isso impacta diretamente no sucesso de uma modelagem. Sendo assim, a responsabilidade de interagir com o usuário e lhe mostrar mensagens de erro é da interface e não da classe de negócio. Sendo assim, será na interface que as exceções serão tratadas. Obviamente poderíamos usar o recurso do RaiseEvent para que a classe de negócio disparasse um evento de tratamento de erros na interface, mas isso nos desviaria de nosso foco neste artigo: montar de forma simples um carrinho de compras.

Veja o código da classe Produto (Listagem 1).

 

Listagem 1. Classe Produto

public class Produto

{

 

    #region Atributos

 

    string _Codigo;

    ...

Quer ler esse conteúdo completo? Tenha acesso completo