Clique aqui para ler esse artigo em PDF.
Boas práticas
Aplicando Padrões de Projeto na prática
Criando uma aplicação orientada a objetos com auxílio dos padrões MVC, DAO e Singleton – Parte 1
Neste artigo veremos |
Padrões MVC, DAO e Singleton. |
Qual a finalidade |
·Demonstrar a criação de uma aplicação real com padrões de projetos. |
Quais situações utilizam esses recursos? |
·Qualquer aplicação do mundo real pode se utilizar dos conceitos apresentados no artigo. |
Resumo do DevMan
Veja como utilizar padrões de projeto na prática com uma aplicação web. Neste primeiro artigo serão abordados os projetos MVC, DAO e Singleton.
Alguns problemas são comuns a vários projetos de software. Para facilitar a solução desses problemas podemos utilizar Padrões de Projeto, soluções reutilizáveis para determinados tipos de problemas no desenvolvimento de aplicações, com o benefício de fornecer soluções planejadas e testadas por profissionais experientes. Este artigo apresentará uma aplicação simples de cadastro e aplicará alguns padrões de projetos para melhorar a qualidade da aplicação. Serão abordados neste artigo os padrões Singleton, DAO e MVC. Na edição seguinte teremos uma segunda parte onde serão abordados os padrões Command, Façade e Factory Method.
Construindo o primeiro sistema
O sistema de exemplo permitirá a inserção e consulta de contatos, contendo o nome e e-mail. Não existirá a preocupação de utilizar padrões de projeto neste primeiro exemplo, que será melhorado posteriormente.
Antes da criação do projeto, deve-se criar a tabela que utilizaremos para inserção e consulta de contatos no SQL Server 2005. O código SQL para criação da tabela Contato segue na Listagem 1.
Listagem 1. SQL para criação da tabela Consulta
CREATE TABLE [dbo].[Contato] (
[
[Email] [varchar] (50) NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Contato] WITH NOCHECK ADD
CONSTRAINT [PK_Contato] PRIMARY KEY CLUSTERED
(
[Nome]
) ON [PRIMARY]
GO
Para seguir os exemplos apresentados nesse artigo é necessário criar um projeto do tipo Web, utilizando o template ASP.NET Web Application. O nome do projeto deverá ser PadroesVs1 e o nome da solução deverá ser PadroesDeProjeto.
Deve-se adicionar ao projeto PadroesVs1 três Web forms: IncluirContato.aspx, ConsultarContato.aspx e Status.aspx. Os códigos fonte dos formulários web Default.aspx, IncluirContato.aspx, ConsultarContato.aspx e Status.aspx seguem nas Listagens 2, 3, 4 e 5 respectivamente.
Listagem 2. Código do formulário web Default.aspx
01: <%@ Page Language="C#" AutoEventWireup="true"
02: CodeBehind="Default.aspx.cs" Inherits="PadroesVs1._Default" %>
03:
04: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
05: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
06:
07: <html xmlns="http://www.w3.org/1999/xhtml" >
08: <head id="Head1" runat="server">
09:<title>Contatos</title>
10: </head>
11: <body>
12:<form id="form1" runat="server">
13:<div>
14:<span >
15:Contatos<br /> <br />
16:</span>
17:<asp:HyperLink ID="HyperLink1" runat="server"
18:NavigateUrl="~/IncluirContato.aspx">
19:Incluir Contato</asp:HyperLink>
20:<br />
21:<br />
22:<asp:HyperLink ID="HyperLink2" runat="server"
23:NavigateUrl="~/ConsultarContato.aspx">
24:Consultar Contato </asp:HyperLink>
25:</div>
26:</form>
27: </body>
28: </html>
No código da Listagem 2, entre as linhas 17 e 24, são criados dois hyperlinks. O primeiro hyperlink aponta para a página IncluirContato.aspx (linha 18), enquanto o segundo hyperlink aponta para a página ConsultarContato.aspx (linha 23).
Listagem 3. Código do formulário web IncluirContato.aspx
01: <%@ Page Language="C#" AutoEventWireup="true"
02: CodeBehind="IncluirContato.aspx.cs" Inherits="PadroesVs1.IncluirContato" %>
03:
04: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
[...] continue lendo...