> 

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

 

 

Boas práticas no desenvolvimento de aplicações com POO

 

 

Este artigo discute

Este artigo usa as seguintes tecnologias

·       Código saudável;

·       Programação Orientada a Objetos;

·       Programação em Camadas;

·       DataSet Tipados;

·       DataTables e TableAdapter.

Visual Studio 2005, C# e SQL Server.

 

Desculpem-me a indiscrição, mas como anda a saúde do seu código? Entenda código saudável como sendo um código limpo, que possa ser facilmente compreendido por qualquer membro da sua equipe de desenvolvimento, que respeite algumas boas práticas de padronização, siga as regras básicas da programação estruturada, e que principalmente, faça um bom uso da Orientação a Objetos. E aí? Como anda a saúde do seu código?

Neste artigo veremos como transformar uma aplicação ASP.NET mal escrita, em um projeto com código claro, reutilizável e Orientado a Objeto. Veremos em exemplos simples e práticos como por em prática algumas das Design Guidelines for Class Library Developers, que a Microsoft propõe para uma boa codificação de classes.

A dinâmica deste artigo será um pouco diferente da que estamos acostumados. Apresentaremos uma aplicação Web feita em C# e que tem as quatro operações básicas que qualquer aplicação comercial realiza: Select, Insert, Update e Delete. Analisaremos cada problema dessa aplicação e tentaremos implementar uma solução mais saudável. E então, vamos ao trabalho!

 

Um código doente

Você consultaria com um médico que nunca freqüentou o curso de medicina? Com certeza não! Infelizmente, o desenvolvimento de software, quando feita por pessoas não habilitadas, não é uma prática ilegal.

Não que devesse ser um crime, mas um pouco mais de controle ajudaria. O fato é que qualquer pessoa, independente de sua capacitação profissional, pode abrir o Visual Studio (ou qualquer outra ferramenta de desenvolvimento), criar um projeto, arrastar alguns controles em uma página, copiar alguns trechos de códigos que achou no Google, e pronto! Seus problemas acabaram...de começar. Quer ver um exemplo? Dê uma boa olhada na Figura 1.

 

image002.jpg

Figura 1. Interface para o Cadastro de distribuidores do Northwind

Esse é um formulário que realiza as funções cadastrais básicas que temos em qualquer programa. No caso, estamos trabalhando com a tabela Shippers do banco Northwind. Se você quiser acompanhar de perto, sugiro que crie um projeto ASP.NET em seu Visual Studio e desenhe um formulário igual a esse.

Também será necessário ter o Northwind em um SQL Server. Não se preocupe com os nomes dos controles, faça apenas a interface. Veja agora o código da Listagem 1.

 

Listagem 1. Código da classe Default

using System;

...

using System.Data.SqlClient;

 

public partial class _Default : System.Web.UI.Page

{

    public string ConnStr;

    public string command;

    public SqlConnection conn;

 

    protected void Page_Load(object sender,

      EventArgs e)

    {

        ConnStr = "Data Source=(local);Initial "+

             "Catalog=Northwind;Integrated Security=True";

        conn = new SqlConnection(ConnStr);

        conn.Open();

    }

 

    protected void Button1_Click(object sender,

      EventArgs e)

    {

        //botão Select

        string command =

          "Select * from Shippers where shipperId = "+

              TextBox1.Text;

        SqlCommand comm = new SqlCommand(command,

          conn);

        SqlDataReader Reader = comm.ExecuteReader();

        if (Reader.HasRows == true)

        {

            Reader.Read();

            TextBox1.Text = Reader[0].ToString();

            TextBox2.Text = Reader[1].ToString();

            TextBox3.Text = Reader[2].ToString();

        }

    }

 

    protected void Button2_Click(object sender,

      EventArgs e)

    {

        //botão Insert

        string command =

          "INSERT INTO Shippers VALUES('" +

          TextBox2.Text +"', '"+ TextBox3.Text +"')";

        SqlCommand comm = new SqlCommand(command,

          conn);

...

Quer ler esse conteúdo completo? Tenha acesso completo