Archivo para julio, 2008

BlackPoint: Modelo de Clases v1.0

Posted in Aplicaciones, BlackPoint, Blend, Patrones de Diseño, WPF on julio 7, 2008 by César Intriago

Para conocer sobre el proyecto BlackPoint visiten el post: BlackPoint 2008 vive!

Mi primera tarea para el proyecto BlackPoint es tratar de modelar las clases que intervendrán en la solución, a continuación expongo los primeros modelos que he diagramado, estos modelos se irán puliendo y modificando con el tiempo pero creo que es un buen inicio.

Estos diagramas representan las siguientes funcionalidades:

  1. Un Adaptador recibe la dirección de un archivo en formato Open XML, este se encarga de abrirlo y empezar a leer su contenido, la información del archivo se guarda en un objeto OpenXmlContent (por ejemplo: Nombre del archivo, palabras clave de búsqueda, etc..), los datos de las partes del archivo (por ejemplo: las diapositivas de un archivo Power Point) se guardan en una lista de objetos tipo OpenXmlPart. La idea del adaptador es que trabaje en segundo plano (en otro hilo) y una vez finalizado Notifique al cliente (aplicación WPF) que el trabajo ha terminado y los datos están listos.

  2. La aplicación cliente deberá guardar la información de archivos cargados y su contenido en algún lugar como un archivo XML, texto plano o una base de datos, a esto le llamaremos el Repositorio de datos.

  3. Por ahora no nos preocuparemos de las clases concretas que implementarán cada una de las funcionalidades, nos limitaremos a definir las intefaces que usaremos.

El primer diagrama modela los Adaptadores (color verde), los tipos de archivos soportados (color kaki) los Repositorios  (color fucsia) y las Notificaciones (color celeste). Los elemetos de color amarillo son tipos del .NetFramework.

Adaptadores

  • Descripción: Encargados de abrir un paquete en formato Open XML y extraer su contenido.

  • Patrón  de diseño: Strategic Pattern

Tipos de archivos

  • Descripción: Lista de tipos de archivos que el adaptor puede abrir. Se basa en la extensión del archivo.

Repositorio

  • Descripción: Se encarga de persistir los datos de la aplicación, el objetivo es que se puedan usar distintos repositorios como archivos XML y bases de datos.

  • Patrón de diseño: Strategic Pattern

Notificaciones: Publicador/Subscriptor

  • Descripción: Registra y mantiene notificados a los clientes cuando un adaptor ha completado su trabajo de extraer infromación de un paquete Open XML.

  • Patrón de diseño: Observer Pattern

El segundo diagrama presenta dos conceptos: El primero (colo verde) se encarga de iniciar el respectivo Adaptor Open XML, usa Factory Pattern para encapsular la creación/ejecución de un Adaptor.  El segundo usa Singletone Pattern para devolver una única instancia de un repositorio de datos que será usado a lo largo de toda la aplicación.

Anuncios

Blackpoint 2008 vive!

Posted in Aplicaciones, BlackPoint, Blend, WPF on julio 6, 2008 by César Intriago

Hola a todos, hace ya algún tiempo estaba trabajando en un aplicación en WPF  para poder abrir y ver archivos de PowerPoint 2007, el código base de la aplicación estaba listo pero nunca llegué a publicarla, estas son dos capturas de cómo se veía la aplicación:

 BlackPoint es una aplicación que esta en proceso de desarrollo que permitirá inicialmente leer archivos de Power Point 2007 (.pptx) y generar una vista previa de su contenido, para esto usará de base el SDK de Open XML.

Pero por cuestiones de trabajo en aquel tiempo no pude continuar trabajando en la misma, gracias a un par de comentarios que mostraron curiosidad en la misma (gracias JuamM_L y JB) he decidido terminar esta aplicación y publicar también el código fuente. Creo que a todos los servirá.

También respondiendo a un par de preguntas que me habian hecho:

  • P: JuanM_L dijo:
         bastante buena, me gusto mucho.. te felicito, como lograste ese efecto brillante en tu aplicacion, las que yo hago no me quedan asi????

  • R: Usé algunos efectos, para los títulos OuterGlow y para las imágenes centrales un VisualBrush basado en la imagen que se muestra

  • P: JB dijo:
        ¿Donde la vas a publicar?

  • R: Próximamente aquí.

Los mantednré informados en este Post sobre los avances.  Inicio hoy mismo !