Pregunta

Tengo un DTO que puede estar totalmente cargada o perezoso cargados con Carga Diferida Patrón.Cómo se carga depende de lo que el Flex de las necesidades de la Aplicación.Sin embargo, este DTO será enviado a una aplicación Flex (swf).Normalmente, una colección, por ejemplo, sólo se cargarán cuando se le llama.En mi caso, sin embargo, la colección sólo será llamado en Flex, así que mi aplicación en el .NETO de lado, obviamente, no funciona en este caso (excepto si Flex haría una llamada de servidor...algo que me gustaría evitar).

En el captador de la colección, los datos se recuperan de la base de datos.Si me gustaría trabajar con ASP.NET páginas, que iba a funcionar, pero no se si el DTO es enviado a la Flexión.

Cómo iba a lidiar con esto?Yo podría llamar a la función de captador antes de enviar el DTO para Flex, pero me parece horrible...+ llamar a la función de captador sólo puede hacerse si se le asigna a algo (y los locales de la variable que contendrá la colección nunca serán utilizados...).

¿Fue útil?

Solución

Yo probablemente introducir un método Finalize para la clase y tal vez un método de extensión FinalizeAll de varias colecciones de la clase. Este método sería simplemente ir a través y hacer referencia a todos los captadores sobre las propiedades públicas de la clase para asegurarse de que están cargados. Debe invocar Finalize (o FinalizeAll) antes de enviar el objeto (s) a su aplicación Flex. Incluso puede que desee para hacer de este una interfaz para que pueda probar la necesidad de finalización antes de la transferencia de los objetos e invocar el método basado en una prueba para la interfaz en lugar de comprobar de forma individual para cada clase.

NOTA: Finalizar es sólo el primer nombre que se me vino a la mente. Puede haber (probablemente es) un nombre mejor para esto.

Otros consejos

Puede introducir un método para cargar dependientes - loadDependencies - que debe tener lugar la carga diferida para su objeto DTO antes de ser enviado a través del cable (a Flex). Puede abstracta este método a una interfaz para agilizar dicho proceso a través de diferentes dtos. No hay nada en contra de usar getters la forma que ha descrito dentro de este método.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top