none
Uso de Interfaces RRS feed

  • Pregunta

  • Hola gente !!

    Con el pasar de los dias trato de desarrollar mis aplicaciones con una arquitectura mas estable, facil modificacion, entendible para el equipo desarrollador, etc. Casi siempre desarrollo en tres capas (presentacion, negocio, persistencia), sin embargo, he visto que en muchas otras aplicaciones utilizan Interfaces con el fin de por ejemplo hacer conexion a la BD, etc. casi siempre uso clases, es decir una sola clase que se encargue de gestionar datos entre la aplicacion y la BD. Ahora bien no me es claro en otras aplicaciones para que realizan o utilizan interfaces ??? Como seria el ejemplo de una interface dentro de una capa de una app, por ejemplo en la capa de persistencia ??

    Gracias !

    sábado, 2 de junio de 2012 19:40

Respuestas

Todas las respuestas

  • no me es claro en otras aplicaciones para que realizan o utilizan interfaces ?

    las interfaces las utilizan para desacopar la conexion entre las capas, para poder usar tecncias como ser Dependecy Injection y Invertion of control

    se puede aplciar por ejemplo en Repository

     Implementing the Repository Pattern in C# ASP .NET

    Using the Entity Framework Repository and UnitOfWork Pattern in C# ASP .NET

    esto es muy util cuando aplcias test en el codigo, porque puede armar mock de los objetos

    recomiendo que analices

    Microsoft - Domain Oriented N-Layered .NET 4.0 App Sample (DDD Architecture)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 2 de junio de 2012 20:24
  • Las interfaces las puedes utilizar para cuando, por ejemplo, utilizas siempre una funcion en la mayoria de tus clases para poder ahorrate algo de tiempo al momento de tener que volver a crear los metodos. Por ejemplo supongamos que creas la siguiente interfaz:

    interface IComparable
    {
        int CompareTo(object obj);
    }


    Al momento de declararlo dentro de tus clases, automáticamente se generara el método CompareTo() listo para que simplemente introduzcas el código necesario para que realice correctamente su función:

    public class Minivan : Car, IComparable
    {
        public int CompareTo(object obj)
        {
            //implementation of CompareTo
            return 0;  //if the Minivans are equal
        }
    }

    public class Bicicleta: Car, IComparable
    {
        public int CompareTo(object obj)
        {
            //implementation of CompareTo
            return 0;  //if the Minivans are equal
        }
    }

    "Lo realmente bueno de usar interfaces en este caso, por ejemplo, es que si un dia tu aplicación en lugar de usar una base de datos para acceder a los datos necesita acceder a un XML o a un webservice o lo que sea, simplemente desarrollando una clase que implemente dicha interfaz podrás tener tu aplicación funcionando con el XML sin tener que hacer un solo cambio en el resto de la aplicación..." - Drevak

    Espero la respuesta ayuda un poco a aclararte su finalidad, Salu2!

    sábado, 2 de junio de 2012 20:35
  • Hola Fabian

    Basicamente por lo que veo esque una interfaz le da organizacion al código y a su vez uniformidad.

    Otra pregunta:

    Cuando yo creo un objeto que es del tipo de una interfaz, como puedo aprovechar su usabilidad ? Como puede verse la relacion en ese modo ?

    Gracias !!

    martes, 5 de junio de 2012 22:10