Implementación práctica de interfaces en C# con logger

Clase 19 de 25Curso de Introducción a .NET con C#

Resumen

Implementar interfaces en aplicaciones de C# es un recurso útil para crear código eficiente y reutilizable. Aprenderás a usar interfaces desarrollando dos clases diferentes: una que muestra ingresos en la consola y otra que escribe mensajes en un archivo de texto. Este ejemplo práctico permite apreciar lo versátiles que pueden ser las interfaces en proyectos reales.

¿Qué son las interfaces y cómo crearlas?

Las interfaces son herramientas prácticas que permiten definir métodos que pueden ser implementados más adelante por múltiples clases. Su creación facilita la organización del código y mejora su flexibilidad.

  • Al crear una interfaz, recuerda colocar una "I" delante del nombre, por ejemplo, ILogger.
  • Define los métodos necesarios dentro de la interfaz.
interface ILogger
{
    void Log(string mensaje);
}

¿De qué manera pueden implementarse las interfaces?

Una vez tienes tu interfaz, puedes incorporarla a diferentes clases que realicen operaciones distintas, adaptándose a tus necesidades.

¿Cómo mostrar mensajes en consola usando interfaces?

Implementa la interfaz en una clase que se encargue exclusivamente de mostrar mensajes por consola. Por ejemplo, crea una clase llamada ConsoleLogger:

public class ConsoleLogger : ILogger
{
    public void Log(string mensaje)
    {
        Console.WriteLine(mensaje);
    }
}

Ejecuta esta clase usando .NET run en tu terminal y verás cómo muestra correctamente el mensaje en consola.

¿Cómo guardar mensajes en un archivo de texto?

Otra implementación útil consiste en hacer que este mensaje se escriba en un archivo de texto, usando la misma interfaz con una clase distinta llamada FileLogger:

public class FileLogger : ILogger
{
    public void Log(string mensaje)
    {
        File.WriteAllText("log.txt", mensaje);
    }
}

Al ejecutarlo, generará automáticamente un archivo de texto (log.txt) con tu mensaje guardado.

¿Por qué crear un logger híbrido?

Practicar creando una clase híbrida utilizando interfaces es un ejercicio estupendo para profundizar en su comprensión. Una clase híbrida puede realizar ambas funciones simultáneamente: escribir en consola y almacenar mensajes en archivos. ¡Inténtalo para que domines completamente el uso práctico de interfaces en tus aplicaciones C#!