FSP: Flyweight Silverlight Pattern
Normalmente el objetivo de desarrollar una aplicación RIA, esta es desarrollar una aplicación web, similar a una aplicación de escritorio, tanto en apariencia como en funcionalidad.
Para lograr esta apariencia y esta funcionalidad, las aplicaciones se componen de páginas y se nutren de imagenes, ficheros de recursos, librerías desarrolladas por nosotros y en algunos casos distintos componentes comprados a terceros.
Como ya es sabido, desarrollar una aplicación RIA con Silverlight genera un único fichero XAP, que aunque comprimido, lleva todos los ficheros necesarios dentro, por tanto estamos hablando de ficheros bastante grandes con tiempos de carga elevados. Y esto es buen problema!
FSP (Flyweight Silverlight Pattern)
Es una técnica para construir aplicaciones ligeras, de bajo acoplamiento y esta compuesta por la combinación de la caché de assemblies + CAL.
Por que "flyweight"? Por que se intenta reducir al máximo las dependencias redundantes de todos XAP que componen una aplicación construida sobre CAL.
Silverlight 3, trae consigo la posibilidad de utilizar una cache de assemblies, esto se traduce en que una aplicacion se puede dividir en diferentes librerias las cuales se pueden ir descargando a medida que se van necesitando.
Cómo: Usar el almacenamiento en caché de biblioteca de aplicaciones
Pero solo utilizar la cache de assemblies, a veces, es insuficiente y provoca ciertas carencias, por ello, si a esto sumamos CAL (Composite application library) como base para desarrollar aplicaciones pobremente acopladas; obtendremos unos assemblies bastante más ligeros, especializados y en consecuencia más rápidos de cargar.
En los siguientes post explicaré un poco más como conseguir aplicar FSP.
- FIN -
15:04 | Etiquetas: silverlight3 | 0 Comments
Documentacion de Silverlight 3 en Castellano
Actualmente se puede descargar la documentación de SL3 en Castellano de la siguiente dirección:
Documentación de Microsoft® Silverlight™ 3 sin conexión
Documentación en castellano sobre conceptos de SL3, componentes iniciales que trae, tecnologías que lo componen.
Independientemente de la documentación anteriormente citada, el entorno de desarrollo debería estar compuesto de los siguientes elementos:
Silverlight Toolkit
Incluye código fuente, test unitarios, temas, ejemplos y documentación.
Unit Test Framework for Microsoft SilverlightComposite Application Guidance for WPF and Silverlight - February 2009
Silverlight Unit Test Framework (Microsoft.Silverlight.Testing) es una solución simple y extensible para realizar testing sobre nuestras aplicaciones hechas con SL.
Es una guia que nos ayuda a diseñar y construir aplicaciones compuestas con WPF a un nivel empresarial (aplicaciones débilmente acopladas).
Microsoft® Silverlight™ 3 SDK
Descarga del SDK de SL3
Microsoft Enterprise Library 4.1 – October 2008 (.Net 3.5 y VS2008)
Es una colección de componentes software reutilizables, diseñados para asistir a los desarrolladores de software en tareas comunes como pueden ser: Caching, Cryptography, Data Access, Exception Handling, Logging, Policy Injection, Security, Validation, y Unity.
Hands-On Labs for Enterprise Library 4.1
Incluye laboratorios de Caching, Cryptography, Data Access, Exception Handling, Interception, Logging, Security, Validation, y Unity.
Guidance Automation Extensions - February 2008 Release
Guidance Automation Toolkit for Visual Studio 2008 - February 2008 Release
Guidance Automation Extensions for Visual Studio 2008 and Visual Studio 2008 Service Pack 1 Update (GAXP1409)
Web Client Software Factory - February 2008
Unity Application Block 1.2 for Silverlight - December 2008
Es un contenedor que nos permite aplicar IoC y DI en nuestras aplicaciones (similar a Spring), facilita la creación de aplicaciones débilmente acopladas, entre otras cosas nos evita crear objetos y nos proporciona unas factorias para hacerlo, permitiendo cambiar las dependencias en tiempo de ejecución.
Unity Application Block 1.2 Documentation for Visual Studio 2008
Using Prism Quick Start Kit for Silverlight 3
Conjunto de plantillas de proyectos para ayudarnos a implantar PRISM para SL.
Microsoft Expression Blend 3 SDK Con las librerias de este SDK podemos enchufar fácilmente comportamiento a los eventos de los objetos según el patron MVVM.
- FIN -
0:46 | Etiquetas: silverlight3 | 0 Comments
Sirviendo ficheros xml incompletos
Hoy me ha vuelto a salir un viejo error del cual no recordaba la solución.
Resulta que estoy sirviendo ficheros xml (que se generan dinámicamente) desde una página asp.net; pero en la descarga se me devuelve el fichero incompleto, normalmente se "pierde/o quita" el caracter de cierre del nodo raiz (>).
String sxml = builder.ConstruyeXML(obj); Response.AddHeader("Content-Disposition", "attachment; filename=fich_" + id + ".xml"); Response.ContentType = "text/xml"; Response.Write(sxml); Response.Flush(); Response.End();La solución ha sido añadirle un retorno de carro al final del xml a devolver:
String sxml = builder.ConstruyeXML(obj) + "\r\n";Es cutre, si!!! y no se si realmente es la forma mas efectiva, lo que si es seguro, es que funciona.
- FIN -
5:57 | Etiquetas: asp.net | 0 Comments