Você está na página 1de 4

Usando public interface

1 de 4

http://www.aspneti.com/usando+public+interface+677,0.aspx

Busca online em todo site:

Pesquisar

Intel Core 2010

Novo BlackBerry

Automao Industrial

Notebook Na Kalunga

A emoo da velocidade
inteligente. Conhea os novos
processadores
www.intel.com

Enterprise Server Express baixe


agora mesmo e veja como
fcil!
br.blackberry.com

Eficiencia energtica, saneamento Preos imperdveis em at 12x


eltrica de potncia
sem juros. Acesse e confira as
www.jmsc.com.br
ofertas!
www.kalunga.com.br

Mais anncios
Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.

Principal

Livros

Ebook's

Artigos

Vdeos

Grupo

Cadastre-se

Login

Empregos

Frum

PodCast

Cadastrar Emprego | Cadastrar Artigo | Clula Acadmica | Buscar Empregos | Fale Conosco | Direitos Autorais | Colaboradores| Parceiros| Temas:

Ttulo do Artigo

Informaes Online:

Usando public interface


Data Publicao: 28/5/2009 21:13:18
Total de visualizaes: 1580
comente

Visual Studio .NET 2008


Ol pessoal, quero mostrar algumas coisas importantes no meio da programao. Hoje ficou muito comum falar de interface pra c,
interface pra l. Mas pra que serve essa coisa de interface na programao?
Bom, nesse artigo vou explicar algumas coisas e mostrar alguns cdigos de interface usando o framework da Microsoft.

Usurios Online: 607


Artigos: 677
Vdeos: 50
PodCast's: 36
Frum: 3106
Empregos: 1274
Usurios Cadastrados: 5922
Publicidade:
[sumir] [aparecer]

Referncia:
Ferramenta Visual Studio.NET
Linguagem C#.NET
Framework 3.5 / 2.0 / 1.x
A interface geralmente tratada como uma camada de abstrao, ou seja, uma cama acima que sabe identificar qual a melhor forma
de acessar a fonte de dados, mtodo ou funo. Um exemplo bsico disso : imagina criar uma interface que sabe qual banco de dados
acessar; oracle, sql server, mysql, access ou outros.
Voc s manda o comando e a interface detecta qual banco de dados est na sua aplicao. O comando select * from tabela na
interface; pega o dado para a camada de dados correta. Criei primeiro uma classe helper com o mtodo principal. (Referncia 1.1)
public DataSet ExecutaDataSetParameter(IDbCommand sqlCommand)
{
try
{
base.OpenConnection();
sqlCommand.Connection = sqlConnection;
System.Data.IDbDataAdapter dataAdapter = new System.Data.SqlClient.SqlDataAdapter();
dataAdapter.SelectCommand = sqlCommand;
DataSet dtSet = new DataSet();
dataAdapter.Fill(dtSet);
return dtSet;
}
catch(SqlException e)
{
throw new NotImplementedException(e.Message);
}
finally
{
base.CloseConnection();
}
}
Referncia 1.1
O mtodo executa um dado e retorna um objeto do tipo dataset. Recebe como parmetro de entrada chamado IDbCommand, uma
interface da classe Command. No decorrer do mtodo utilizo sempre a interface de mtodos, o DataAdapter por exemplo possui uma
interface chamada IDbDataAdapter que recebe um objeto do tipo SqlDataAdapter().

Categoria de Artigos
APPLE
ASP 3.0
BANCO DE DADOS
DELPHI
FISIOTERAPIA
JAVA
LINQ
NOVIDADES
VB.NET
VRUS / SPAM

ARQUITETURA
ASP.NET
C#.NET
FINANAS
FLASH
JAVA SCRIPT
MOBILE
TPC/IP e DOS
VDEOS ONLINE
WEBSERVICE

Essa helper apenas para o banco de dados SQL Server. (Referncia 1.2)
Vdeos

? Referncia 1.2
Note na imagem que tenho uma HelperSQL.cs, tem todos os mtodos especficos para o banco de dados SQL Server. O prximo passo
gerar um helper para o Oracle. (Referncia 1.3)

06/05/2010 14:45

Usando public interface

2 de 4

http://www.aspneti.com/usando+public+interface+677,0.aspx

namespace Bancoob.Data {
public class HelperOracle : IDTec
{
public DataSet ExecutaDataSetParameter(IDbCommand sqlCommand)
{
try
{
System.Data.IDbDataAdapter dataAdapter = new System.Data.Odbc.OdbcDataAdapter();
dataAdapter.SelectCommand = sqlCommand;
DataSet dtSet = new DataSet();
dataAdapter.Fill(dtSet);
return dtSet;
}
catch (OdbcException e)
{ throw new NotImplementedException(e.Message);

Servios: SAC e SMS integrado

Caf com TI - Info sobre o Visual Studio.NET


2010 - WebConfig
Enquete - D sua opinio
Os podcasts tem sido proveitoso pra voc?
Sim

}
}
}
}

No
Votar

Resultado

Colaboradores

Referncia 1.3
Nesta classe HelperOracle.cs possui um mesmo mtodo para um outro banco de dados, Oracle por exemplo. Para acessar o banco, o
comando ODBC importante, em vez de fazer outro mtodo na helper SQL, coloco na helper Oracle. Veja a mudana no
System.Data.OdbcDataAdapter() , a Exception tambm do tipo Odbc. (Referncia 1.4)

autor: Mauricio Junior


publicou 423 artigo(s).

autor: Jlio Battisti


publicou 51 artigo(s).

? Referncia 1.4
O prximo passo gerar uma interface que saiba qual classe Helper acessar em determinados momentos. Uma hora na HelperSQL e
outra hora no HelperOracle. Geralmente a interface possui apenas o cabealho do mtodo, por exemplo: note que na referncia 1.3 e
1.1 possui todo o mtodo que recebe um comando e retorno o objeto do tipo DataSet; dessa forma, na interface fica apenas o
cabealho que por sinal um igual ao outro. (Referncia 1.4)

autor: Kleber Becerra


publicou 10 artigo(s).

public DataSet ExecutaDataSetParameter(IDbCommand sqlCommand)


autor: Ramon Dures
publicou 6 artigo(s).

Referncia 1.4
No caso de ter outra helper para acesso a outro banco como o access, ter a mesma assinatura e no seu interior ir tratar direto com o
banco e interfaces do access. O passo seguinte mostrar a interface.

autor: Ebenzer de Souza

Na classe da interface no ter public class e sim public interface. (Referncia 1.5)

publicou 5 artigo(s).

public interface IDTec


Referncia 1.5
autor: Fabio Aguiar

Ter apenas um public interface e o nome que achar melhor. Veja mais abaixo a chamada do mtodo criado nas referncias acima.
(Referncia 1.6)

publicou 4 artigo(s).

public interface IDTec {


DataSet ExecutaDataSetParameter(IDbCommand sqlCommand);
}
Referncia 1.6
A interface possui apenas a chamada com o retorno do tipo do mtodo, o mesmo tipo. Com isso a interface escolhe qual herper
utilizar. Voc pode colocar um tipo na sua classe que chama para definir o helper de forma mais dinmica; pode ser de acordo com o
arquivo de configurao ou como uma propriedade com get e set.
No sistema, basta chamar a interface, ou seja, public interface IDTec que o resto definido dinamicamente.
Bom eu fico por aqui, qualquer dvida pode entrar em contato. Espero ter ajudado.

Total de visualizaes: 1580


voltar comente subir
Autor:
Maurcio Jnior
Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundao Getlio Vargas), Ps-Graduao em
Docncia Superior e cursando Mestrado na UNB Engenharia Eltrica; .
Tenho 27 anos e possuo sete livros publicados pela editora Cincia Moderna no ano de 2009. Sou Certificado
Microsoft MCP, MCAD e MVP, fao parte da comunidade ASPNETI.COM, onde publico artigos, vdeos, ebooks e
Por:Mauricio Junior livros Publico artigos, vdeos e podcast em outras comunidades. Trabalho como Analista de Sistemas /
Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org

Automao Industrial

Notebook Na Kalunga

Eficiencia energtica, saneamento eltrica de Preos imperdveis em at 12x sem juros.


potncia
Acesse e confira as ofertas!

Mais anncios

Comentrios:

06/05/2010 14:45

Usando public interface

3 de 4

http://www.aspneti.com/usando+public+interface+677,0.aspx

Comentado por: Luis - 29/5/2009 0:00:00


O artigo est bom mas incompleto. Faltou a ultima parte que mostrar cdigo de exemplo utilizando esta tcnica.
Comentado por: Luis Madaleno - 29/5/2009 0:00:00
O artigo est bom, mas falta a parte final e mais importante que era mostrar o cdigo usando o conceito. Quem iniciado no vai
entender nada.

Comente (d sua opinio): VOC PRECISA ESTAR LOGADO

Comentrio:

Cdigo Imagem:

(digite o cdigo da imagem respeitando maisculo e minsculo)

Favor digitar o cdigo da imagem para cadastramento.

Logar

Limpar

Outros Artigos do Autor


Web abrindo aplicaes locais
Registro Encontro .NET (Fotos)
CRIANDO MENU DINMICO COM C#.NET Passo 1
Como utilizar CSS no VS 2003
WebService utilizando soapHeader e token
Evento Brasil DotNet - gratuto
Criando, utilizando e agendando sistema de backup
XAML Power Toys
Pases que acessaram o aspneti.com
Linguagem de programao: Nunca faa isso - C#.NET
Vdeo - Mostrando um sistema com pocket pc
Vdeo do Visual SourceSafe - Parte I
Vdeo - Servios do Windows Live
Vdeos Mobile no Site da Microsoft
Gravando Erros com Exception no arquivo de log - Parte II
Trabalhando com Cookie usando Visual Studio.NET 2005 (parte I)
Gerando uma dll com sistema web
Vdeo: Framework de dados - parte 1
Sistema que faz busca no google
Inserindo Usurio no Banco de Dados MYSQL Usando Tecnologia AJAX
Sistema ASP 3.0 utilizando 3 camadas Parte 1
WebServices usando soapHeader
Dll Ajax
Desenvolvendo para iPhone com ASP.NET
GridView Parte II
Promoo Assinatura Grtis DevMedia e ASPNETi.COM
Prepare o Sql Server para o VS 2005
Trabalhando com GridView, RowCommand e DataKeysNames
Internet Explorer 8
Definindo o boto padro.
Vdeo: Srie Atlas.NET - Parte II
Label Server Control AccessKey
URL Indexvel Reescrever URL de uma forma amigvel
Usando Tooltip
Gravando erros com eventlog - Parte I

06/05/2010 14:45

Usando public interface

4 de 4

http://www.aspneti.com/usando+public+interface+677,0.aspx

RSS, o que isso? | Fale Conosco | Logar (Sign-in) |


Copyright 2005 Comunidade aspneti.com - (melhor resoluo 1024 ou maior)

06/05/2010 14:45

Você também pode gostar