Desenvolvimento em Camadas utilizando Orientação a Objetos Parte 1
Realizando operações CRUD em Visual C-# utilizando a programação em camadas. Nesta primeira parte, teremos uma visão breve de orientação a objetos, modelos e conceitos práticos de aplicação de modelagem de classes.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
1. Introdução
Muitas vezes, quem já não se pegou pensando que a “tal da Orientação a Objetos” resolve praticamente todos os nossos problemas?
Realmente, pode facilitar e muito a resolução de um determinado problema, entretanto saber explorar os recursos da orientação a objetos pode se tornar um grande desafio.
Deixar de pensar no paradigma de desenvolvimento estruturado e já partir para Orientação a Objetos, de início, pode vir a ser um pouco complicado. Já que nossa mente ainda ‘processa’ o paradigma estruturado quando estamos na faculdade, por exemplo. Ver aquele monte de representações, funções (que podemos chamar de métodos) e estruturas (que na Orientação a Objetos podemos chamar de Classes com seus Atributos).
O objetivo deste artigo é mostrar como utilizar a orientação a objetos para desenvolver rapidamente aplicações em modelo de camadas, ou modelo em três camadas, o mais utilizado hoje comercialmente.
Mostraremos aqui como realizar operações CRUD (Create, Read, Update e Delete) utilizando este modelo em três camadas e o acesso ao banco de dados utilizando ADO .NET com toda a facilidade que o .NET Framework nos oferece juntamente com o Visual C-Sharp.
Nesta primeira parte, teremos uma visão breve de orientação a objetos, modelos e conceitos práticos de aplicação de modelagem de classes.
2. Entendendo os Modelos
Modelos são representações simples de objetos do mundo real, ou seja, uma representação de pessoa, objetos, itens, empresa, conceitos, etc. Entender modelos é tão fácil que independente do uso de computadores, corriqueiramente todos nós utilizamos esses modelos, representando objetos do mundo real. Por exemplo, um setor de Recursos Humanos, utiliza cadastro ou formulários e relatórios de seus colaboradores. Tudo isso representa em um modelo que se denomina Funcionário.
Outro exemplo nato é a nossa velha e utilizada lâmpada. Ela não deixa de ser um Modelo do nosso dia a dia, pois ela possui um estado e suas utilidades (funções). Aqui vamos representar o modelo Lampada na orientação a objetos:

Agora o modelo Lampada é uma Classe (representando o objeto, que é lâmpada), contendo seu Atributo (denominado por Estado, sua propriedade, porque ela pode estar acesa ou apagada) e seus Métodos (que nada mais é do que suas ações, representado por Acender() e Apagar(), pois alguém aciona o interruptor para realizar a ação da lâmpada). Por fim, quando acionamos um método, o estado da lâmpada muda. Ou é acesa ou é apagada.
Essa é a idéia de modelos na orientação a objetos. Representar objetos do mundo real em modelos que concretizam em Classes contendo seus Métodos e Atributos.
1. Padrão de desenvolvimento MVC (Model View Controller)
O maior pecado na construção de um software pode ser na organização do código-fonte. Esta parte do artigo tem por objetivo estender o padrão de desenvolvimento em três camadas, respeitando o conceito de orientação a objetos e organizando o projeto (ou solução, como queiram) na padronização MVC, que significa Modelagem, Visão e Controle, ou em inglês, Model View Controller.
A padronização MVC é um conceito útil sugerida, cujo proposto é dividir a solução no Visual Studio em classe de Modelagem, onde ficará o modelo da nossa base de dados ou modelagem do sistema, classes de interface com o usuário que seria a Visão e classe de controle das entidades, responsável pela regra de negócio da aplicação. Caso queira saber mais sobre esta interessantíssima arquitetura, acesse: http://pt.wikipedia.org/wiki/MVC
2. Desenvolvendo a primeira aplicação
Utilizaremos aqui para o nosso desenvolvimento, a IDE Visual Studio 2010 Express Edition e SQL Server 2008 Express R2.
Todas as ferramentas de desenvolvimento Microsoft gratuitas estão disponíveis aqui: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
Para a manipulação do Banco de Dados, utilizaremos a ferramenta do SQL Server chamada SQL Server Management Studio 2008 Express Edition.
Ø Passo 1:
ü Abra o Visual C-# 2010 Express Edition e crie um novo projeto.

Passo 2:
ü Vamos já criar uma aplicação comercial, ou seja, sem passar pelo Console Application primeiramente (que no caso concordaria em primeiro pincelar lá pela “telinha do DOS”), e criaremos já de cara as famosas telas no “clique-arrasta-solta”. Crie um Windows Forms Application com o nome de “ProjetoCamadas”.

Dentro do projeto adicione 3 pastas clicando com o direito no projeto e dê um Add... e depois New Folder. As pastas se chamarão Model, View e Controller. Abaixo segue uma ilustração de como terá de ficar o projeto até o momento.

Passo 4:
Criaremos, então, a nossa base de dados pelo SQL Server Management Studio. A base se chamará Projeto e dentro dele crie duas tabelas: uma chamada CategoriaProduto e outra chamada Produto. Crie as colunas conforme a ilustração dos fields abaixo.
Note que Produto e CategoriaProduto tem um relacionamento. Uma categoria pode ter um ou muito produtos. Então, vai uma FK de CategoriaProduto lá em Produto.
Passo 5:
Começaremos então a definição e a produção de nossas classes.
Dentro da pasta Model que criamos crie duas classes: uma Produto e CategoriaProduto. Essas são nossa classes de modelagem. Abaixo segue o exemplo da classe Produto e CategoriaProduto.


Estes são modelos de nossas classes que iremos trabalhar em cima pelo resto da aplicação. Foi utilizado aí, na orientação a objetos, o chamado encapsulamento de atributos como no exemplo, public string Descricao { get; set; }.
Neste método, podemos acessar este atributo em qualquer classe que criarmos na solução desde que instanciamos o objeto CategoriaProduto, por exemplo.
Veremos no próximo artigo todos estes conceitos de instâncias e criação de métodos para trabalharmos dentro das outras camadas.
Bem, pessoal, com isso fechamos nossa primeira parte do artigo. O próximo artigo daremos continuidade no desenvolvimento desta aplicação aprendendo na prática as camadas View e Controller para o acesso e persistência de dados.
Esta primeira etapa é mostrar o conceito fundamental do que é a camada de modelagem na criação de um aplicativo desde simples até o mais complexo.
Espero que tenham tirado proveito da breve e simples ideia mostrada até o momento. Sugestões, dúvidas e trocas de experiência técnica, por favor, mandem e-mail para: gsajorato@live.com.
Muito obrigado e fiquem com Deus... Até o próximo artigo!
Desenvolvedor Microsoft no Grupo IOB Folhamatic Tecnologia em Sistemas SA na sede de Americana/SP. Atuando no desenvolvimento de sistemas na plataforma .NET utilizando a linguagem Visual C-Sharp com Entity Framework. Graduado em Análise e Desenvolvimento de Sistemas na Faculdade Comunitária de San...



