Muchas Gracias Carlos, me parece absolutamente cierto lo que dices y
entraremos a negociar esa parte con el cliente.

El 21 de febrero de 2010 06:09, Carlos Peix <[email protected]>escribió:

> Hola Jose,
>
> Una cosa que me parece importante es que sepas que con una implementacion
> de DAO como la que mostraste en tu ejemoplo perdes un monton de ventajas de
> los ORMs (tanto NH como EF) que te van a complicar la vida (bah, el
> proyecto).
>
> Lo que yo haria en tu posicion es preguntar al cliente porque pide una capa
> de acceso a datos como esa. Seguramente hay un motivo que no te ha dicho o
> que no nos has dicho y es muy probable que tenga otra soluciones.
> Definitivamente esta solucion me parece peligrosa.
>
> Deben tener cuidado hasta cuando le hacen caso sumisamente al cliente,
> tengan en cuenta que si la arquitectura se complica, falla o se hace dificil
> de mantener, los culpables van a ser ustedes. No seria la primera vez que
> una peticion como esta de un cliente arruina un proyecto.
>
> O acaso un cirujano acepta que el paciente quiera hacerse una cirugia
> cardiovascular en el living de su casa?
>
> ----------------------------------
> Carlos Peix
>
> 2010/2/20 proxy <[email protected]>
>
>> Saludos comunidad.
>>
>>
>> En estos días, estamos diseñando en la empresa una arquitectura para
>> un proyecto ciertamente grande que incluye componentes móviles, WPF y
>> ASP.NET - MVC, además de un SIG. Ante lo cual optamos por una
>> separación en 4 capas:
>>
>> 1. presentación
>> 2. negocios
>> 3. acceso a datos
>> 4. forma de acceso a datos (NH, ADO.NET, EF..etc.) .... Aquí es donde
>> está el problema :(
>>
>> También unas capas transversales como servicios, comunicaciones y
>> seguridad. La arquitectura debe soportar nuevos módulos que se le irán
>> sumando con el tiempo.
>>
>> Naturalmente y por tantas razones que ya conocemos, optamos por
>> NHibernate con nuestra opción principal para ORM; sin embargo tenemos
>> un requerimiento del cliente: "Que la capa de datos sea flexible, para
>> poder realizar ciertas operaciones con la BD con ADO.NET"; o sea, algo
>> como esto:
>>
>> public class CustomerADO
>> {
>>           public void Save()
>>           {
>>                  //Implementación del save con NH.
>>           }
>>
>>           public Customer Retrieve()
>>           {
>>                  //Retrieve -SQL- con ADO.NET
>>           }
>> }
>>
>> O sea, nuestro cliente quiere algo completamente flexible en la parte
>> de acceso a datos, no le veo mucho sentido, pero finalmente no le
>> podemos decir que no. He pensado en algunos frameworks como SPRING.NET
>> para inyectar dependencias etc... Pero no tengo claro que tan posible
>> sea tener una capa de acceso a datos tan híbrida con NH, ADO.NET y en
>> un futuro EF.
>>
>>
>> Esto es posible?
>> Hay un patrón de diseño que te solucione algo así?
>> Una implementación tan híbrida de la capa de acceso a datos dañaría la
>> arquitectura...?
>>
>>
>> Muchas gracias por sus aportes.
>>
>> --
>>
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a