Interface en C#

31/03/2007 - 22:37 por Pedro | Informe spam
Alguien puede darme una idea o explicarme brevemente o con un ejemplo lo que
es una Interface y si hay situaciones reales donde usarlas ya sea un una
aplicacion Web o de Windows?

Estoy confundido con lo que dice la ayuda al respecto y no comprendo bien.
 

Leer las respuestas

#1 Diego Jancic
31/03/2007 - 23:21 | Informe spam
On Mar 31, 5:37 pm, "Pedro" wrote:
Alguien puede darme una idea o explicarme brevemente o con un ejemplo lo que
es una Interface y si hay situaciones reales donde usarlas ya sea un una
aplicacion Web o de Windows?

Estoy confundido con lo que dice la ayuda al respecto y no comprendo bien.



Hola,
Las interfaces sirven para separar o aislar partes de la aplicacion.
Un ejemplo tipico es el de la impresion, si vos tenes que imprimir
algo no te importa que impresora vas a usar o si vas a imprimir a PDF
o a papel. En ese caso podrias hacer una interfaz de este tipo:

public interface IImpresora
{
void Imprimir (Documento doc, int CantidadCopias);
}

Entonces cuando el usuario va a imprimir, vos te aseguras de obtener
una instancia de un objeto que implemente IImpresora, y despues el
codigo lo seguis manejando con eso. Otro caso es el de los
Repositorios/Acceso a Datos, vos te podes manejar con un repositorio
que tiene los metodos Obtener, Insertar, Actualizar, etc.. y por
configuracion le decis a la aplicacion si tiene un usar el repositorio
A o B que ambos implementan esa interfaz, pero A puede guardar en un
SqlServer y B en un archivo de texto o un web service o lo que sea..
se entiende?

Esto ultimo que te dije se llama Dependency Injection (DI), podes ver
un ejemplo basico en:
http://www.devx.com/dotnet/Article/34066

o ver frameworks mejores para esto como Windsor Container, o
Spring.net

Saludos!

Preguntas similares