Hola gente! Hmmm.... Oscar, yo creo no haberte contestado ese tema, pero en algun otro email, habre enviado el enlace
http://ajlopez.wordpress.com/2006/11/30/learning-aspnet-providers/ sobre una implementacion mas concreta. Acabo de dejar para Oscar algunos enlaces mas generales sobre provider como patron en: http://del.icio.us/ajlopez/provider Nos leemos! Angel "Java" Lopez http://www.ajlopez.com/ ----- Original Message ----- From: Oscar Onorato To: [email protected] Sent: Wednesday, May 16, 2007 10:01 AM Subject: [puntonet] Provider Model Mil gracias Diego, Mil disculpas a Daniel que mando una respuestaza. Saludos y gracias El día 16/05/07, Diego Jancic <[EMAIL PROTECTED]> escribió: Hola, Te copio los mails abajo.. los que respondieron fueron Carlos Peix y Daniel Calvin (por lo menos esos encontre yo) Saludos! ---------------------------------------------------------------------------------------- Hola Oscar, Este es un patron ampliamente usado desde hace tiempo, aunque en DNN aparece un poquitin especializado y con un nombre nuevo. La idea de base se llama Separated Interface y consiste en definir una interfaz para un servicio determinado y luego proveer implementaciones de ese servicio. Por configuracion y reflection (o Inversion of Control o Dependency Injection) se determina la clase concreta que prestara el servicio. Yo uso bastante esa tecnica para construir Repositories de testeo hasta que este estabilizado el modelo. Luego construyo los repositories que acceden a la base de datos y los de testeo los uso para las pruebas. ---------------------------------------------------------------------------------------- Hola Oscar Lo vas a encontrar en muchos lados como inversión de control o Invesion of control. La idea básica es que las interfaces son menos cambiantes que las clases, si separas layers o sub sistemas utilizando interfaces logras mayor adaptabilidad al cambio. Basicamente yo lo utilizo para eso y para trabajar con mock objects, lo utilizo muchísimo para instanciar la capa de servicios de mis aplicaciones en forma independiente a la capa de transporte, algo en la capa de datos, y no mucho mas.. Tiene mucho sentido en el contexto de utilizar algunos otros patrones: principio abierto cerrado principio de responsabilidad unica ( Alta y cohesion y bajo acoplamiento, dicho de otra manera.. cosa + cosa - ) Dificil de aplicar si tenés un diseño de dominio complejo y un poco acoplado. Muy fácil de implementar si utilizas controladores, clases muy cohesivas y bajo acoplamiento. Es como necesitas tener limites y fornteras claramente definidas, alli es donde lo aplicas con facilidad. En mi caso siempre esta vinculado a alguna factoria, casi siempre con algún archivo de configuracion. Pero esto no siempre es necesario. Podes utilizar factorias estáticas, no me refiero a static de c#. Un abrazo Daniel Calvin
