P. 1
Qué es un Patrón de Diseño

Qué es un Patrón de Diseño

|Views: 5|Likes:

More info:

Published by: Roxana Mendoza López on Sep 01, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

06/23/2014

pdf

text

original

¿Qué es un Patrón de Diseño? ¿Qué es un Patrón de Diseño?

Esta fue la primer pregunta que me hice cuando comencé a investigar sobre este tema. Al principio no tenía mucha idea de por dónde comenzar, por lo que mi primera reacción fue realizar una búsqueda en Internet y obtener de esta manera alguna base sobre la cual apoyarme. La definición que más me gustó fue la siguiente: “Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.” En otras palabras, brindan una solución ya probada y documentada a problemas de desarrollo de software que están sujetos a contextos similares. Debemos tener presente los siguientes elementos de un patrón: su nombre, el problema (cuando aplicar un patrón), la solución (descripción abstracta del problema) y las consecuencias (costos y beneficios). Grande fue mi sorpresa al averiguar que existen varios patrones de diseño popularmente conocidos, los cuales se clasifican como se muestra a continuación:  Patrones Creacionales: Inicialización y configuración de objetos.  Patrones Estructurales: Separan la interfaz de la implementación. Se ocupan de cómo las clases y objetos se agrupan, para formar estructuras más grandes.  Patrones de Comportamiento: Más que describir objetos o clases, describen la comunicación entre ellos. Veamos un poco en qué consisten los distintos tipos de patrones, cuáles son sus fines y qué beneficios nos aportan. Principio de la página Patrones Creacionales Fábrica Abstracta ( Abstract Factory ) El problema a solucionar por este patrón es el de crear diferentes familias de objetos, como por ejemplo la creación de interfaces gráficas de distintos tipos (ventana, menú, botón, etc.). Método de Fabricación ( Factory Method ) Parte del principio de que las subclases determinan la clase a implementar. public class ConcreteCreator extends Creator { protected Product FactoryMethod() { return new ConcreteProduct(); } } public interface Product{} public class ConcreteProduct implements Product{} public class Client { public static void main(String args[]) { Creator UnCreator; UnCreator = new ConcreteCreator(); UnCreator.AnOperations(); } } Prototipado ( Prototype ) Se basa en la clonación de ejemplares copiándolos de un prototipo. Singleton Restringe la instanciación de una clase o valor de un tipo a un solo objeto. public sealed class Singleton { private static volatile Singleton instance; private static object syncRoot = new Object(); private Singleton()

 Observador (Observer): Notificaciones de cambios de estado de un objeto. Permite la interacción de varios objetos. utilizando para ello la composición recursiva y una estructura de árbol. que representa la realidad. evitando heredar sucesivas clases para incorporar la nueva funcionalidad.  Envoltorio (Decorator): Permite añadir dinámicamente funcionalidad a una clase existente. que muestra un aspecto del modelo y es utilizada por la capa anterior para interaccionar con el usuario.  Mediador (Mediator): Coordina las relaciones entre sus asociados.  Fachada (Facade): Permite simplificar la interfaz para un subsistema. } public static Singleton GetInstance { get { if (instance == null) { lock(syncRoot) { if (instance == null) instance = new Singleton(). sin generar acoples fuertes en esas relaciones.  Peso Ligero (Flyweight): Elimina la redundancia o la reduce cuando tenemos gran cantidad de objetos con información idéntica. que conoce los métodos y atributos del modelo.Forms.{ System. } } } MVC ( Model View Controler ) Este patrón plantea la separación del problema en tres capas: la capa model.  Apoderado (Proxy): Un objeto se aproxima a otro. y la capa vista. Principio de la página Patrones Estructurales  Adaptador (Adapter): Convierte una interfaz en otra.  Iterador (Iterator): Define una interfaz que declara los métodos necesarios para acceder secuencialmente a una colección de objetos sin exponer su estructura interna.  Public Class Articulo  Delegate Sub DelegadoCambiaPrecio(ByVal unPrecio As Object)  Public Event CambiaPrecio As DelegadoCambiaPrecio .Show("Nuevo Singleton"). } } return instance.  Puente (Bridge): Desacopla una abstracción de su implementación permitiendo modificarlas independientemente.  Objeto Compuesto (Composite): Utilizado para construir objetos complejos a partir de otros más simples.MessageBox.  Recuerdo (Memento): Almacena el estado de un objeto y lo restaura posteriormente. Principio de la página Patrones de Comportamiento  Cadena de responsabilidad (Chain of responsibility): La base es permitir que más de un objeto tenga la posibilidad de atender una petición. la capacontroler .  Intérprete (Interpreter): Intérprete de lenguaje para una gramática simple y sencilla. recibe y realiza lo que el usuario quiere hacer.Windows.  Orden (Command): Encapsula una petición como un objeto dando la posibilidad de “deshacer” la petición.

acerca del cual tomé conocimiento durante mi investigación sobre Patrones de Diseño. mientras que las filas representan los niveles de abstracción.Dim _cambiaPrecio As Object Public WriteOnly Property Precio() Set(ByVal value As Object) _cambiaPrecio = value RaiseEvent CambiaPrecio(_cambiaPrecio) End Set End Property End Class Public Class ArticuloObservador Public Sub Notify(ByVal unObjecto As Object) Console. Volver al texto. una de negocio y una de datos. es conciente de la importancia del mismo y tiene sus comentarios e ideas al respecto. testeado y aceptado que en un entorno similar a mi problema ya aporta una solución satisfactoria. el de los ANTI.  Estrategia (Strategy): Utilizado para manejar la selección de un algoritmo. Microsoft sostiene que las columnas de la tabla son enfoques o puntos de vista de la solución. en el siguiente diagrama puede verse cómo presenta Microsoft su concepción de patrones de diseño (Ver Figura 1):            Figura 1: Marco de Patrones según Microsoft. Para que una solución sea considerada un patrón debe poseer ciertas características. el cual plantea la separación de una aplicación en una capa de presentación. Bibliografía Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Hay mucho trabajo ya realizado. Una de ellas es que debe haber comprobado . Además. En el diagrama de la Figura 1.Patrones. no debemos “reinventar la rueda” en varias de nuestras aplicaciones. En un futuro artículo abordaremos un interesante concepto o paradigma. más aún. Principio de la página Conclusión Como verán. Un ejemplo muy conocido en el ambiente de desarrollo Web es el patrón de diseño de capas (layers).  Visitante (Visitor): Operaciones aplicadas a elementos de una estructura de objetos heterogénea. si es que este artículo logró ilustrar sobre las distintas categorías y tipos de patrones de diseño. les comento que Microsoft no es ajeno a todo este movimiento.WriteLine("El nuevo precio es:" & unObjecto) End Sub End Class  Estado (Server): Se utiliza cuando el comportamiento de un objeto cambia dependiendo del estado del mismo. El tema se reduce a una cuestión de enfoque.  Método plantilla (Template Method): Algoritmo con varios pasos suministrados por una clase derivada. Un patrón de diseño resulta ser una solución a un problema de diseño. ¿Para qué voy a inventar un ladrillo si ya otro lo hizo y el mismo ya fue usado en la edificación de millones de estructuras con éxito? Quienes deseen ampliar su conocimiento respecto a este tema pueden consultar la bibliografía adjunta.

0 (OS/2) 1989 SQL Server 1-0 SQL 4.21 SEQUEL 6.0 OLAP Tools Plato 8. Características de Microsoft SQL Server[editar · editar fuente] Historia de versiones Versión Año Nombre de la versión Nombre clave 1. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle. lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.0 SQL95 6. Soporta procedimientos almacenados.0 2008 SQL Server 2008 Katmai 10.0 2000 SQL Server 2000 Shiloh 8.0 1998 SQL Server 7.5 1996 SQL Server 6. Incluye también un entorno gráfico de administración.0 2012 SQL Server 2012 Denali    Soporte de transacciones.21 (WinNT) 1993 SQL Server 4.50 2010 SQL Server 2008 R2 Kilimanjaro 11. Otra es que debe ser reutilizable.0 Sphinx - 1999 SQL Server 7.0 2003 SQL Server 200064-bit Edition Liberty 9.0 1995 SQL Server 6. Microsoft SQL Server Microsoft SQL Server es un sistema para la gestión de bases de datos producido porMicrosoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL yANSI SQL.su efectividad resolviendo problemas similares en ocasiones anteriores. PostgreSQL oMySQL. . que permite el uso de comandos DDL y DML gráficamente.5 Hydra 7.0 2005 SQL Server 2005 Yukon 10.

llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños. soporte completo para todos los tipos de datos compatibles con SQL Server. Esto se realiza mediante el envío de sentencias de T-SQL y declaraciones que son procesadas por el servidor y los resultados (o errores) regresan a la aplicación cliente. conjuntos de operaciones asíncronas. SQL Server usa Address Windowing Extension (AWE) para hacer el direccionamiento por encima de 4GB. En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD. incluyendo la creación y modificación de esquemas de la base de datos. o PowerShell.  Microsoft SQL Server requiere de un sistema operativo Microsoft Windows. Desventajas[editar · editar fuente] En versiones de 32 bits. a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows. Ventajas de la Utilidad de SQL Server  . Este sistema incluye una versión reducida. Es común desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). y sólo le permite alojar un máximo de 64 GB de memoria compartida. las notificaciones de consulta. que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition.  Permite trabajar en modo cliente-servidor. así como recibir varios conjuntos de resultados en una sola sesión de base de datos. pasando por alto las capas de acceso de datos. Además permite administrar información de otros servidores de datos. Implementa nativamente soporte para las características de SQL Server. entre ellas . la memoria máxima que se puede direccionar en Edición Estandard es 64Gb y en Edición Enterprise 4Tb. osql. requisito cubierto en esta versión por medio del concepto de administración de aplicaciones y de varios servidores de la Utilidad de SQL Server. soporte para bases de datos en espejo de SQL Server. Esto le impide usar la administración dinámica de memoria. incluyendo la ejecución de la secuencia de datos tabular. incluyendo ADO u OLE DB. por lo que no puede instalarse. donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información. Cliente Nativo de SQL[editar · editar fuente] Cliente Nativo de SQL es la biblioteca de acceso a datos para los clientes de Microsoft SQL Server versión 2005 en adelante. Permite realizar las operaciones claves en SQL Server. pero el servidor sólo está disponible para Sistemas Operativos Programación[editar · editar fuente] T-SQL[editar · editar fuente] Artículo principal: T-SQL. por ejemplo. Características y tareas de la utilidad de SQL Server SQL Server 2012 Los clientes de SQL Server necesitan administrar su entorno de SQL Server en conjunto. que se distribuye en forma gratuita. en servidores Linux.  Microsoft SQL Server sólo maneja compresión de datos en la Edición Enterprise.Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo. Para el desarrollo de aplicaciones más complejas (tres o más capas). Cliente Nativo de SQL se utiliza como extensión de SQL Server plug-ins para otras tecnologías de acceso de datos. T-SQL (Transact-SQL) es el principal medio de interacción con el Servidor. De esta forma se completa la base de datos (Microsoft SQL Server). Esta limitación es exclusiva de sistemas operativos 32 bits. Cliente Nativo de SQL puede también usarse directamente. así como la administración del servidor como tal. en sistemas operativos 64bits. la introducción y edición de los datos en la base de datos. con el entorno de desarrollo (VBA Access).NET. soporte para cifrado.

Tareas relacionadas Use los temas siguientes para empezar a trabajar con la utilidad de SQL Server. La combinación del resumen y los datos detallados presentados por el UCP sobre directivas de infrautilización o sobreutilización. Cada instancia de SQL Server y aplicación de capa de datos administrada por la Utilidad SQL Server se pueden supervisar dependiendo de definiciones de directiva globales o basándose definiciones de directiva individuales. Es posible cambiar las directivas de supervisión globales o configurar directivas de supervisión individuales para cada entidad administrada en la Utilidad SQL Server. Las directivas de mantenimiento se pueden configurar y ajustarse para modificar umbrales de uso mayor o menor de los recursos. Describe cómo inscribir una instancia de SQL Server con un punto de control de la utilidad. y sobre diversidad de parámetros clave.La Utilidad de SQL Server modela las entidades relacionadas con SQL Server de una organización en una vista unificada. El UCP proporciona una vista global del estado de los recursos. Introducción a la Utilidad de SQL Server El escenario de usuario típico comienza con la creación de un punto de control de la utilidad que establece el punto de razonamiento central para la Utilidad SQL Server. Describe cómo conectarse a una Utilidad de SQL Server. Los puntos de vista del Explorador de Utilidad y de la Utilidad de SQL Server en SQL Server Management Studio (SSMS) proporcionan a los administradores una vista global del estado de los recursos de SQL Server a través de una instancia de SQL Server que actúa como punto de control de la utilidad (UCP). Describe cómo ver los resultados de la directiva de mantenimiento de recursos. inscriba instancias de SQL Server en la Utilidad de SQL Server para que el UCP las pueda administrar. . Una vez creado el UCP. habilita posibilidades de consolidación de recursos y de fácil identificación de sobreutilización. Tema Consideraciones para ejecutar conjuntos de recopilación de la utilidad y que no sean de la utilidad en la misma instancia de SQL Server Crear un punto de control de la utilidad de SQL Server (utilidad de SQL Server) Conectarse a una utilidad de SQL Server Inscribir una instancia de SQL Server (Utilidad de SQL Server) Utilizar el explorador de Utilidad para administrar la utilidad de SQL Server Supervisar instancias de SQL Server en la utilidad de SQL Server Ver los resultados de la directiva de mantenimiento de recursos (Utilidad de SQL Server) Modificar una definición de la directiva de mantenimiento de recursos (utilidad de SQL Server) Describe cómo modificar una definición de la directiva de mantenimiento de recursos. Descripción Describe las consideraciones para configurar un servidor que ejecute los conjuntos de recopilación de la utilidad y que no sean de la utilidad en la misma instancia de SQL Server. Describe cómo supervisar las instancias de SQL Server de la Utilidad de SQL Server. Describe cómo usar el Explorador de la utilidad para administrar la Utilidad de SQL Server. Describe cómo crear un punto de control de la Utilidad de SQL Server. tomada de las instancias administradas de SQL Server en la Utilidad SQL Server.

seguridad y una evolución continua. Lo más destacado de Visual Studio 2013 Preview El giro fundamental hacia las experiencias en dispositivos y servicios ha modificado el enfoque del sector hacia el desarrollo de software. Visual Studio 2013 Preview parte de los avances ya presentes en Visual Studio 2012 y las posteriores actualizaciones de Visual Studio Update para ofrecer la solución que necesitan los equipos de desarrollo para adoptar esta transformación y desarrollar y entregar aplicaciones modernas que aprovechen las novedades de la última plataforma Windows (Windows 8. mejoras en la depuración y optimización de código nativo y administrado.1).Describe cómo configurar el almacenamiento de datos del UCP. Describe cómo cambiar la cuenta de proxy para el conjunto de recopilación de la utilidad en una instancia administrada de SQL Server. servicios con conexión permanente para obtener los datos que necesitan.Características innovadoras para mejorar la productividad de los desarrolladores . A continuación se ofrecen algunos puntos destacados de esta versión: características innovadoras para mejorar la productividad de los desarrolladores. Describe cómo ajustar la atenuación en las directivas de uso de la CPU. La demanda se centra en aplicaciones que ofrezcan la mejor experiencia en distintas pantallas y dispositivos. y funcionalidad ALM ampliada. Vínculos a temas de la Ayuda F1 del Explorador de la utilidad. Describe cómo quitar una instancia de SQL Server de un UCP. Describe cómo solucionar problemas de mantenimiento de recursos de SQL Server. compatibilidad con el desarrollo de aplicaciones para Windows 8. Describe cómo solucionar problemas de la Utilidad de SQL Server. progresos en desarrollo web. clientes y empleados ya exigen una nueva generación de aplicaciones. Consumidores. Configurar el almacenamiento de datos del punto de control de la utilidad (utilidad de SQL Server) Configurar las directivas de mantenimiento (utilidad de SQL Server) Reducir el ruido en las directivas de uso de la CPU (utilidad de SQL Server) Quitar una instancia de SQL Server de la utilidad de SQL Server Cambiar la cuenta de proxy para el conjunto de recopilación de la utilidad en una instancia administrada de SQL Server (utilidad de SQL Server) Mover un UCP desde una instancia de SQL Server a otra (utilidad de SQL Server) Quitar un punto de control de la utilidad de SQL Server (utilidad de SQL Server) Solucionar problemas de la Utilidad de SQL Server Solucionar problemas de estado de recursos de SQL Server (Utilidad de SQL Server). Describe cómo quitar una instancia de UCP.1. Explorador de Utilidad (Ayuda F1) Describe cómo configurar las directivas de mantenimiento de la utilidad. sin dejar de ofrecer compatibilidad para dispositivos y servicios en el resto de plataformas de Microsoft. Describe cómo mover un UCP desde una instancia de SQL Server a otra.

se pueden intercambiar fácilmente los dos modos de comportamiento de la barra de desplazamiento. ahora están integradas. gracias a la experiencia del IDE conectado. qué conjuntos de cambios llevaron a la creación o al cambio reciente. Visual Studio 2013 Preview incluye varias mejoras que le ayudarán a ser más productivo y a mantener la concentración en el código. Saber lo que hace una línea de código es solo uno de los muchos retos de un desarrollador. Se puede hacer clic en una posición exacta en el código para ir a esa ubicación. Características que afectan a la productividad. Ahora. Visual Studio 2013 Preview presenta una experiencia de IDE conectado. con una página de inicio mejorada que simplifica la navegación a características de colaboración en equipo. Este hecho es especialmente desafiante en proyectos de equipo. qué pruebas unitarias se aplican al método (incluido el último estado de prueba superada/no superada) y qué referencias de código existen. La primera vez que se inicia Visual Studio 2013 Preview. fuentes. la posibilidad de mover líneas o bloques de código con métodos abreviados de teclado y la navegación alineada. que podría ser la que se usa con las suscripciones de MSDN o Team Foundation Service. el comando Ir a definición va acompañado de la nueva característica de definición rápida. Basta con un clic para desplazarse rápidamente a datos tales como un conjunto de cambios asociado o a un archivo de código al que se haga referencia. Puede salir de la vista alineada sin perder el contexto. la copia de Visual Studio 2013 Preview quedará registrada para el uso. es preciso iniciar sesión con la cuenta de Microsoft. Cuando se trabaja con archivos de código grandes. por ejemplo. sin necesidad de pasos adicionales. La configuración que se sincroniza incluye categorías tales como los métodos abreviados de teclado o la apariencia de Visual Studio (tema. Seguramente observará un cambio en los más de 400 iconos. Una vez iniciada la sesión. etc. a través de las opciones de configuración sincronizada. cambiar de posición y realizar el seguimiento de los errores más directamente. puede ser complicado llevar un control de dónde se encuentra. quién trabajó en ella. En modo de mapa.Visual Studio 2013 Preview incluye numerosas mejoras en la interfaz de usuario que se basan en comentarios de los clientes y el principio de diseño básico de Microsoft. que permite conocer y empezar a trabajar con Visual Studio 2013 Preview más rápidamente. como la posibilidad de desacoplar cambios y compilaciones pendientes en una ventana independiente. Con la definición rápida ya no es necesario abandonar el contexto de la línea de código para ver una definición de solo lectura en una vista alineada. qué código hace referencia a ella. En Visual Studio 2013 Preview. con una mayor capacidad de diferenciación y colores más intensos. etc. es decir. la barra de desplazamiento incluye una vista previa activa del código fuente. Visual Studio 2013 Preview incluye un nuevo Team Explorer. se pueden ver anotaciones tales como la posición del símbolo de inserción.1 . para luego incorporarse a Visual Studio tras su perfeccionamiento. La característica CodeLens (indicadores de información de código) de Visual Studio 2013 Preview usa la información de los metadatos del proyecto y Team Foundation Server 2013 Preview para colocar elementos Decorator en cada uno de los métodos del código que muestran. También es necesario conocer su historia. quién fue la última persona que trabajó con el código. una página de inicio rediseñada y otros cambios sutiles de diseño en todo Visual Studio. como la finalización automática de corchetes. Compatibilidad con el desarrollo de aplicaciones para Windows 8. pero el usuario nunca pierde el control. Así mismo. no desviar la atención del contenido que se entrega y una experiencia mejorada para el usuario. así como la posibilidad de desplazarse por encima del código para obtener una vista previa más detallada en una información sobre herramientas. Algunas características aparecieron primero a modo de prueba en la extensión Visual Studio Power Tools. Visual Studio 2013 Preview también sincronizará automáticamente la configuración entre los dispositivos.). o puede abrirla como una ventana completa para obtener una vista editable. Saber lo que hace una línea de código es una tarea clave durante el desarrollo. En modo de barra.

Estas y otras mejoras ayudarán a aliviar el trabajo de creación de aplicaciones de la Tienda Windows. incluida la compatibilidad con la búsqueda de referencias. como la nueva escala de tiempo para la animación de cambios en CSS. y el almacenamiento y la manipulación de los datos en la nube. como la incorporación de reglas y guías personalizadas para un diseño de contenido más preciso. etc. que conecta Visual Studio con uno o varios exploradores modernos abiertos. el desplazamiento a las definiciones y el cambio al modelo de vista. para trabajar con cada uno de estos enfoques en Visual Studio. en una experiencia de desarrollo interactiva. lo que aporta una mayor flexibilidad y productividad al desarrollo web. servicios de API web o WCF. en un único proyecto. Blend para HTML también se hace eco de estas mejoras y agrega nueva funcionalidad específica para compilar aplicaciones de la Tienda Windows con HTML. Esta nueva experiencia unificada incluye la posibilidad de crear fácilmente aplicaciones híbridas con versiones mejoradas de ASP. el analizador de la capacidad de respuesta de la IU y generador de perfiles de consumo de energía para aplicaciones XAML y HTML. Progresos en desarrollo web Crear sitios web o servicios en la plataforma de Microsoft ofrece muchas posibilidades. ASP. Si diseña páginas web o implementa los diseños de terceros. era preciso trabajar con tipos de proyectos diferentes y herramientas exclusivas de la funcionalidad de cada proyecto concreto. La visión de One ASP.1). Ahora se pueden combinar las herramientas apropiadas para cada trabajo en los proyectos web. La experiencia de codificación de aplicaciones de la Tienda Windows ha mejorado en Visual Studio 2013 Preview. Mejoras en la depuración y optimización El nuevo concentrador de rendimiento y diagnóstico presente en Visual Studio 2013 Preview ofrece una experiencia unificada para varias herramientas disponibles en Visual Studio. a fin de mantenerlos sincronizados con los cambios que tienen lugar en el marcado sin tener que actualizar los exploradores de forma manual para verlos.NET MVC.Visual Studio 2013 Preview ofrece el conjunto de herramientas ideal para crear aplicaciones modernas que saquen el máximo partido a lo más innovador de la plataforma Windows (Windows 8. así como mejoras en la funcionalidad de aplicación de estilos.NET WebForms. En el pasado. Blend para XAML se ha mejorado y ahora incluye importantes funciones para el diseño de aplicaciones de la Tienda Windows. API web o MVC. Conectar las aplicaciones de la Tienda Windows es también más fácil gracias a la incorporación de los Servicios móviles de Windows Azure. herramientas de generación de perfiles de memoria mejoradas para aplicaciones HTML e integración mejorada con la Tienda Windows. La compatibilidad con el desarrollo de aplicaciones para la Tienda Windows en Windows 8.NET WebForms. Visual Studio 2013 Preview elimina estas idas y venidas mediante el vínculo del explorador. que exponen la aplicación a una variedad de escenarios que permiten. por ejemplo.NET unifica la experiencia de proyecto web en Visual Studio 2013 Preview de manera que se pueden crear aplicaciones web ASP. sin dejar de admitir los dispositivos y servicios de todas las plataformas de Microsoft. como ASP. El concentrador también facilita la . enlace de plantillas y recursos.NET que se prefiera en un único proyecto. habilitar fácilmente las notificaciones de inserción. Esto se complica todavía más dada la variedad de exploradores web que pueden usar los visitantes para ver el sitio. También permite una transición más productiva entre el marcado de diseño y el código subyacente. que ahora también está disponible para enlace de datos. la nueva compatibilidad con pruebas de IU codificadas para aplicaciones XAML. El editor XAML incluye avances en IntelliSense. controles y plantillas. probablemente invierta una gran parte de su tiempo en retocar el código HTML y CSS al tiempo que actualiza las ventanas del explorador una y otra vez para lograr la experiencia exacta que desea crear.NET con los marcos de componentes ASP.1 Preview incluye numerosas actualizaciones de herramientas.

como la compatibilidad con la compactación a petición de la pila de objetos grandes de GC o el inicio más rápido de las aplicaciones cuando se ejecutan en equipos con varios núcleos. los operadores de conversión explícitos y las plantillas variádicas. salas de reuniones. ya que podrá consultar tamaños y recuentos. Visual C#. Ahora. en V isual Studio 2013 Preview se incluyen mejoras en la depuración asincrónica en Visual Basic.5.1 incluye otras mejoras.1 de 64 bits en Visual Studio 2013 Preview. que se pueden empezar a usar rápidamente para mejorar la aplicación. dispone de la opción de “editar y continuar” que también existe para las aplicaciones administradas de 32 bits. podrá solucionar las pérdidas de memoria y su uso ineficaz.NET directamente desde Visual Studio. Funcionalidad ALM ampliada Visual Studio 2013 Preview incorpora una oleada de nuevas características de administración del ciclo de vida de las aplicaciones (ALM) que ayudan a mejorar la productividad y colaboración de los equipos. Características como la administración de cartera ágil. .iTrace) y usar IntelliTrace en Visual Studio con el fin de recorrer paso a paso la ejecución del código para esos eventos. Ahora está disponible para C++. En Visual Studio Ultimate 2013 Preview.NET 4. al depurar las aplicaciones de . La posibilidad de filtrar la pila de llamadas hasta llegar al código escrito durante la depuración existe desde hace tiempo para los lenguajes administrados. la depuración de “solo mi código” en Visual Studio 2013 Preview hace que trabajar en C++ sea incluso mejor. los literales de cadena sin formato. y la administración mejorada de casos de prueba basados en web forman parte de una solución integrada para que el equipo mejore en términos de colaboración y productividad. Gracias a la nueva funcionalidad de análisis de memoria. Además de la compatibilidad con el diagnóstico. lo que ayuda a entender el grado de exactitud con que se corresponden esos datos de perfil y el rendimiento real: se muestra la correspondencia de las rutas de código más calientes (escenarios de usuario comunes) cuyo perfil se ha generado y las rutas de código más frías (escenarios de usuario menos comunes) de una aplicación con respecto al código optimizado por PGO y el grado de dicha correspondencia (tamaño o velocidad). Se pueden importar los eventos de excepciones y rendimiento como registro de IntelliTrace (. ya que analiza los volcados de la pila de memoria de . Así mismo. como los constructores de delegación. las instancias de objetos más grandes y qué los mantiene activos en memoria.identificación de las herramientas de rendimiento y diagnóstico que funcionan con un proyecto. PGO (optimización guiada por perfiles) es una optimización del compilador de Visual C++ en tiempo de ejecución que aprovecha los datos de perfil recopilados de la ejecución de escenarios de usuario importantes o centrados en el rendimiento para crear una versión optimizada de una aplicación. Las herramientas de generación de perfiles de Visual Studio 2013 Preview proporcionan detalles sobre las decisiones de optimización de PGO. Cuando se ejecuta en Windows 8. Visual C++ y JavaScript. También podrá comparar dos volcados de memoria para obtener información sobre las tendencias de uso de memoria a lo largo del tiempo. comentarios de código basados en web sobre conjuntos de cambios o confirmaciones de cambios.NET 4. Además de características que mejoran la compatibilidad con C++11. se pueden diagnosticar errores y problemas de rendimiento en las aplicaciones supervisadas mediante System Center 2012 R2 Operations Manager Preview. . El analizador de volcado de memoria de Visual Studio 2013 Preview simplifica el diagnóstico de los problemas de memoria en los entornos de producción. gracias a la compatibilidad mejorada con prácticas de desarrollo ágil que se pueden ir adoptando gradualmente según las necesidades de cada organización. la ventana de pila de llamadas incluye la pila de llamadas lógica si se activa un punto de interrupción o una excepción en un método asincrónico.5.1.

por lo que puede usarlos para diseñar. su estado de compilación. lo que permite a los evaluadores mantener su productividad sea cual sea su entorno de trabajo. También es fácil encontrar los comentarios con el filtro del explorador de versiones. Ahora. Lanzamiento de aplicaciones con Visual Studio 2013 Preview ¿Para qué esperar? Descargue y comience a usar Visual Studio 2013 Preview hoy mismo y pruebe las herramientas y los servicios que necesita para crear aplicaciones fabulosas que superarán las expectativas de todo el mundo. que se puede instalar en un servidor local. o Team Foundation Service. donde se describen sus derechos de uso y las posibles limitaciones asociadas con la versión Preview en las aplicaciones que desarrolle tanto para usarlas en su entorno de producción interno como para distribuirlas a terceros. probar e implementar aplicaciones en entornos tanto de pruebas como de producción. Las salas de reuniones ofrecen un área para albergar y capturar la comunicación entre los miembros del equipo. Al usar la sala de reuniones en lugar del correo electrónico. desarrollar. Además. Las mejoras en la administración de casos de prueba web permiten crear o administrar los planes y conjuntos de pruebas directamente desde la interfaz web. Gracias a la compatibilidad con las pruebas de carga en la nube de Team Foundation Service. cerca y lejos.NET Framework 4. en cuestión de segundos. se pueden crear otras salas de reuniones adicionales para facilitar los debates ad hoc y la colaboración entre equipos. pruebas de escala que utilicen los recursos elásticos de Windows Azure para ejecutar las solicitudes de miles de usuarios virtuales. Visual Studio 2013 Preview y . debe revisar y cumplir los Términos de licencia del software de Microsoft que acompañan a la instalación de la edición que desee usar. incluidos los MVP de Microsoft y los miembros del equipo de producto . La sala de reuniones es el mecanismo de alimentación de la actividad de los proyectos de equipo para mantener al equipo informado de cuándo se protege el código. que se hospeda en la nube.5.Para interactuar con otros usuarios de la comunidad que utilizan esta versión preliminar de software. que se puede revisar y consultar en cualquier momento. la asignación de trabajo. Por lo tanto. Con la administración de cartera ágil es posible administrar cargas de trabajo grandes y complejas de una manera ágil. se puede usar el explorador de control de versiones web de Visual Studio 2013 Preview para crear o responder a comentarios sobre conjuntos de cambios. etc. se puede elegir la opción que el equipo prefiera: mayor control y personalización en una instalación local o la accesibilidad sin mantenimiento que ofrece la nube. Sin embargo. se recibe automáticamente una traza de auditoría de las conversaciones y decisiones. En una sala de reuniones se puede hablar sobre el trabajo en curso. Esto le proporcionará una visión de los cuellos de botella de rendimiento de las aplicaciones y servicios web sin las molestias asociadas a la administración de hardware o un laboratorio virtual. se pueden generar. conjuntos de cambios aplazados o confirmaciones Git para participar en conversaciones con su equipo sobre los cambios del código fuente.  Obtención de soporte técnico y notificación de problemas MSDN Forums .1 Preview cumplen nuestros altos estándares de software en versión preliminar. a través de cualquier explorador web moderno. compartir el estado y aclarar problemas a medida que surjan. También se pueden ejecutar pruebas desde sistemas operativos que no sean Windows. Antes de usar una versión Preview. Se puede definir una jerarquía de trabajos pendientes para conocer el ámbito de trabajo de varios equipos y ver cómo ese trabajo se acumula para derivar en iniciativas de mayor calado. plantear preguntas.El núcleo de la funcionalidad ALM de Visual Studio se obtiene de Team Foundation Server. Team Foundation Server 2013 Preview admite los repositorios Git. Para cada proyecto se crea una sala de reuniones de manera predeterminada.

permite crear ventanas. La aplicación Visual Basic. integrar el testing y el desarrollo y la necesidad de un feedback continuo del negocio que se quiere desarrollar.test automático”. Para este destacado evento Microsoft ha contado con los más importantes directores de tecnología y ALM de las empresas más destacadas en distintos sectores y con reputados partners entre los que se encuentra Globe. Los compañeros de Globe asistieron al lanzamiento de Visual        Studio 2012 que Microsoft lanzó el día 2 de Octubre en Madrid.  Microsoft Connect . Visual Studio 2012 tiene como principal objetivo dar servicio a multitud de dispositivos y todo ello realizarlo de forma continua.1 Preview en un entorno de producción. una mejora de la productividad de desarrollo. Para ello. El soporte técnico asistido está disponible en inglés y japonés. dejar la calidad a posteriori o que las expectativas no se hayan cumplido son los problemas más frecuentes en la fase de desarrollo. Por último. el feedback continuo. etc. tan comunes como no haber entendido correctamente los requisitos mínimos o la no priorización de objetivos. La empresa apuesta por esta aplicación como la gran revolución tecnológica de 2012 para unir el mundo de la gestión con el mundo de la programación. utiliza una interfaz totalmente visual.Para notificar y realizar el seguimiento de problemas. puede ser necesario instalar alguna revisión. la denominada “producción” nos encontramos ante la dificultad de mover el código a producción. Para ello. En algunos casos. Para ellos. los programas creados en Visual Basic sólo funcionan en Windows. facilita el desarrollo de aplicaciones y mejora la gestión del ciclo de vida (ALM). La primera versión salió en 1991 en un entorno relativamente sencillo para facilitar la creación de programas gráficos. Visual Basic. botones. recurrir a alguna solución alternativa o instalar una versión de compilación posterior. el progreso continuo. VS 2012 propone. Ya en la tercera fase. porque permite crear aplicaciones de forma rápida. plantea el sistema IntelliTrace en producción para diagnosis accionable de forma que podamos solventar las incidencias en producción difíciles de identificar.NET 4. Visual Studio 2012 quiere aportar soluciones a todo el proceso de ciclo de vida de una aplicación desde la definición hasta la producción. “Visual Studio 2012 se convierte en una entrega continua de valor en el ciclo ALM”. especialmente para prototipos. respectivamente. como su nombre lo indica. posiciones y comportamientos tanto de forma visual como utilizando códigos de programación. VS 2012. En sintonía con su propio lema.Estaremos encantados de ofrecerle soporte técnico para ayudarle con Visual Studio 2013 Preview y . Este lenguaje toma elementos de diferentes paradigmas como el orientado a objetos y el orientado a eventos.  Visual Basic es una aplicación y un lenguaje de programación desarrollados por Alan Cooper paraMicrosoft. .  CRÓNICA DEL LANZAMIENTO VISUAL STUDIO 2012 EN MADRID  Visual Studio 2012 ya está en el mercado. No es únicamente en la fase de definición en la que pueden surgir las dificultades. buscar problemas notificados por otros usuarios y encontrar posibles respuestas Microsoft Support . Visual Studio 2012 hace de su propio lema el concepto “continuo” entendido como la mejora continua. Actualmente. ya sean aplicaciones de negocio o aplicaciones dirigidas al consumo. de forma sencilla con solo arrastrar y soltar los elementos. Visual Studio 2012 quiere facilitar el ciclo de vida tanto a las aplicaciones ya existentes con las que cuentan las empresas como a aquellas aplicaciones futuras que les ayudarán a mejorar sus procesos. o dicho en otras palabras. VS 2012 propone un storyboarding continuo para alinear requisitos al mismo tiempo que se convierte en una herramienta de planificación ágil. la nueva herramienta de Microsoft formula su solución como “Build-deploy.5. Ante los problemas que en ALM se presentan en la fase de “definición del proyecto”. Visual Basic suele considerarse un sistema RAD (Rapid Application Development). Visual Studio 2012 se compromete a entregar de forma continua nuevas capacidades para la mayor satisfacción del usuario. La pérdida de foco. Se origina en el clásico lenguaje BASIC. menús. Luego se pueden definir las apariencias.

resumiendo. que captura la esencia de una familia exitosa y completa de soluciones a un problema recurrente en un contexto dado” Brad Appleton  “Cada patrón es una regla de tres partes. En otras palabras. Por otra parte el uso de patrones para el desarrollo de software establece la diferencia entre un buen y un mal diseño orientado a objetos.979  Un buen patrón debe: –Solucionar un problema: Un patrón captura soluciones. Luis Fraile. El patrón es. características que nos ellas el proceso ALM to tendría éxito. No se puede entender calidad continua si la aplicación no cumple con el propósito con el que se creó.  Nuestro compañero de Globe y experto en ALM. Introducción Los casos de usos se han llegado a convertirse en la base de muchas metodologías de desarrollo orientadas a objetos. en anticiparse al futuro. un problema y una solución. aportó la visión estratégica “sprints review” valioso concepto que consiste en tomar decisiones sobre lo que va a venir. al mismo tiempo una cosa que tiene su lugar en el mundo. Definiciones:  “Un patrón es un pedazo de información con nombre. Un caso de uso es una secuencia de transacciones en un sistema cuya tarea es producir un valor medible de un actor individual del sistema. es decir. acompañada de diagramas y de seudo-código. si no aporta valor al proceso ALM y al cliente. 1. rehusar soluciones que funcionaron bien una vez. Es al mismo tiempo una cosa y un proceso. y la regla que nos dice cómo crear esa cosa y cuándo debemos crearla. Se describen fundamentalmente en forma textual. que captura la estructura esencial y la visión interna de una familia de soluciones con probado éxito sobre un problema recurrente que surge dentro de un cierto contexto y fuerzas de sistema. ALM PATRONES 1. la cual expresa una relación entre un context o dado. The Timeless Way of Building. ¿Qué es un patrón? En programación orientada a objetos se entiende por patrón una solución probada que se puede aplicar con éxito a un determinado tipo de problemas que aparecen repetidamente en el desarrollo de sistemas software . Uno de los aspectos más importantes de los casos de uso específica la funcionalidad completa de un sistema. Un patrón es un fragmento nombrado de información instructiva. instructivo y significante. expuso con gran acierto las principales características de la calidad continua. al mismo tiempo una descripción de una cosa que tiene vida y una descripción del proceso que la generó” Christopher Alexander. Van más bien en la línea de un esqueleto básico que cada desarrollador luego adapta a sus necesidades y a las peculiares características de su aplicación. la cual expresa una relación entre un cierto contexto. si no se percibe y por último si no se recibe feedback del usuario. un conjunto de fuerzas que ocurren repetitivamente en ese contexto y cierta configuración de software que permite a esas fuerzas resolverse por si mismas” Richard Gabriel  “Cada patrón es una regla de tres partes. que cuenta con el reconocido título Most Valuable Professional (MVP) de Microsoft.  POSTED IN AGILE. 2. Los patrones no son una librería. Estos generalmente proporcionan el fundamento y el punto de partida para el resto de los procesos de análisis y desarrollo. no solo principios abstractos o estrategias –Es un concepto probado . Entre las exitosas ponencias de los partners de Microsoft destacamos la de Luis Fraile “Habilitando la calidad continua” en la que se dirigió al público para solventar los principales problemas que nos encontramos en la fase de desarrollo de una aplicación.  Por último.

979 3. que los debemos crear. a finales de los 70s. 1979 Gamma et al. Pattern Languages of Program Design. más o menos. del contexto particular en el cual aplican o de la etapa en proceso de desarrollo. El GoF empiezan la recopilación de patrones de diseño 1991. Cada patrón es una regla que describe que debemos hacer para generar la entidad que los define” Christopher Alexander . Tipos de patrones Existen varios tipos de patrones. Pattern-Oriented Software Architecture: A System of Patterns. Sin embargo. 1994. Este conocimiento es trasportado al ámbito del desarrollo de software orientado por objetos y se aplica al diseño. describen estructuras y mecanismos –Tiene un componente humano significante: es estético y de utilidad James Coplien“Estos patrones en nuestras mentes son. 1994 Bushmann et al. The Timeless Way of Building. El GoF publica el libro Design Patterns: Elementos of Reusable Object-Oriented Software. Nos dicen qué hacer. 1990. Patrones de arquitectura Son esquemas fundamentales de organización de un sistema software.4. Algunos libros que marcan el desarrollo del área son:      Alexander. Son generativos. Los patrones en el mundo solo existen. Jim Coplien publica su recopilación de idioms de C++ en Advanced C++ Programming Styles and Idioms. Ward Cunningham y Kent Beck escriben sus experiencias de enseñar Smalltalk por medio de las ideas de Alexander en Using Pattern Languages for Object-Oriented Programs. Desarrollo histórico El término patrón se utiliza inicialmente en el campo de la arquitectura. por Christopher Alexander. Especifican una serie de subsistemas y sus responsabilidades respectivas e incluyen las reglas y criterios para organizar las relaciones existentes entre ellos.1. son realmente diferentes.–La solución no es obvia –Describe una relación: No solo describen módulos. Algunos de estos tipos son:        De arquitectura De diseño Idioms De análisis Para ambientes distribuidos De negocios De procesos y organizacionales 4. Design Patterns: Elementos of Reusable Object-Oriented Software. Buildings. De allí es extrapolado al desarrollo en general y a las demás etapas. 1. Construction. A Pattern Language: Towns. cómo se pueden generar y. 1996 Coplien y Schmidth. Christopher. 1977 Alexander. . dependiendo del nivel de abstracción. Christopher. Pero esos mismos patrones en nuestras mentes son dinámicos. The Timeless Way of Building. imágenes mentales de los patrones en el mundo: son representaciones abstractas de las reglas morfológicas que definen los patrones en el mundo. 1995 Algunos eventos importantes en la historia del tema de patrones en Ingeniería de software son:    1987. Tienen fuerza. en ciertas circunstancias.

Facilitan la reutilización de las clases y del propio diseño. y han demostrado su utilidad resolviendo problemas que aparecen frecuentemente en el DOO. cada uno es independiente del resto. Patrones de diseño Son patrones de un nivel de abstracción menor que los patrones de arquitectura. Los patrones con propósito de creación conllevan el proceso de creación de objetos.Se recogen aquí ocho patrones estructurales. Los patrones de diseño proceden de la experiencia. Los patrones .2. Es difícil reutilizar la implementación de un patrón. Los patrones favorecen la reutilización de clases ya existentes y la programación de clases reutilizables. El uso de un determinado patrón no se refleja claramente en el código. Los patrones suponen una sobrecarga de trabajo a la hora de implementar. Las clases del patrón son roles genéricos. Se usan más clases. Los patrones pueden tener propósito de creación. agrupados en cuatro categorías: Del caos a la organización Niveles Tuberías y filtros Pizarra Sistemas distribuidos Sistemas interactivos Intermediario o broker MVC: Modelo-Vista-Controlador PAC: Presentación. los patrones indican cómo resolverla mediante OO. Se aplican en situaciones muy comunes. Muchos patrones utilizan la delegación de operaciones y esto provoca el problema del self. Dada una determinada situación. No indican cómo diseñar un determinado sistema sino sólo aspectos puntuales del mismo. La clasificación facilita la búsqueda del patrón más adecuado así como su comprensión . Control Sistemas adaptables Microkernel Reflexión 4. Características de los patrones de diseño          Son soluciones concretas. Están por lo tanto más próximos a lo que sería el código fuente final. Son soluciones técnicas. Un catálogo de patrones es un conjunto de recetas de diseño. A partir de la implementación es difícil determinar que patrón de diseño se ha usado. pero en la implementación aparecen clases concretas. Aunque existen clasificaciones de patrones. Su uso no se refleja en la estructura global del sistema. Indican cómo resolver un problema particular utilizando un pequeño número de clases relacionadas de forma determinada. Referencias a self. La propia estructura del patrón es reutilizada cada vez que se aplica. El propósito refleja lo que realiza el patrón . es necesario delegar mensajes. Se pueden organizar los patrones según familias de patrones relacionados . Gamma clasifica los patrones según dos criterios fundamentales: su propósito y su alcance [Gamma 95]. estructural o de conducta. etc. Abstracción. Son soluciones simples. Hay patrones específicos para un determinado lenguaje y otros de carácter más general.

mientras que los patrones estructurales y alcance de objeto describen formas de ensamblado de objetos. El alcance indica si el patrón aplica principalmente a clases u objetos. Pero son los patrones de clases los que se focalizan en las relaciones de clase. Los patrones de clases tratan de relaciones entre clases y sus subclases. La tabla 1 muestra la clasificación propuesta por Gamma de algunos de los patrones más utilizadosCreación actualmente [Gamma 95] Clase Método Fabricación Fábrica Constructor Prototipo Singleton de Estructural De Conducta Adaptador (clases) Adaptador (objetos) Puente Composición Decorador Fachada Flyweight Apoderado Interprete Plantilla Objeto Cadena de Responsabilidad Comando Iterador Intermediario Observador Estado Estrategia Visitante Memoria Tabla 1. Los patrones de conducta describen las formas en que las clases u objetos interactúan o distribuyen responsabilidades.1. Estas relaciones se establecen a través de la relación de herencia. por consiguiente son estáticas y definidas en tiempo de compilación. . Los patrones de conducta con alcance de clase utilizan herencia para describir algoritmos y flujos de control mientras que los patrones de conducta con alcance de objeto describen como un grupo de objetos cooperan para realizar una actividad que un objeto no puede realizar por sí solo. Clasificación de Patrones de Diseño 4.2. Los patrones de objetos tratan de relaciones entre objetos que pueden ser cambiadas en tiempo de ejecución y son más dinámicas. Los patrones estructurales y alcance de clase utilizan la herencia para componer clases.estructurales tratan de la composición de clases u objetos. Casi todos los patrones utilizan la herencia de alguna forma. Ejemplo de patrón de diseño Como ejemplo de patrón de diseño se mostrará el patrón intermediario. Los patrones con propósito de creación y alcance de clase difieren parte de la creación de objetos a subclases mientras que los patrones con propósito de creación y alcance de objeto difieren ésta a otros objetos.

menús o campos de entrada. El intermediario facilita el acoplamiento mínimo.Patrón Intermediario    Este patrón define un objeto que encapsula como un conjunto de objetos interaccionan. Esto puede ser útil como se verá en el ejemplo de interacciones entre elementos gráficos. Figura 2. Esto dificulta la reutilización. con lo que se permite variar su interacción independientemente. La estructura del patrón siguiendo la notación OMT para el diagrama de clases es como sigue: Figura 1. El desarrollo orientado a objetos potencia el reparto de conducta entre objetos. Por ejemplo un botón esta inhabilitado cuando cierto campo de entrada esta vacío. Se puede evitar esta situación. Se puede encapsular esta conducta en un intermediario. Un intermediario es responsable de controlar y coordinar las interacciones de un grupo de objetos. Ejemplo del Patrón Intermediario . Es importante resaltar los siguientes aspectos:  Cada objeto de las clases participantes es decir los objetos gráficos de tipo List_Box o Entry _Field solo conoce a su intermediario concreto . En el peor de los casos cada objeto debería conocer a todos los demás. Una caja de dialogo utiliza una ventana para presentar una colección de elementos gráficos tales como botones. Seleccionando una entrada de una lista de opciones llamada una caja tipo lista podría cambiar los contenidos de un campo de entrada. Tal reparto puede resultar en una arquitectura donde existen múltiples conexiones entre los objetos. llamado en el ejemplo Director_Dialogo. Patrón Intermediario  Un ejemplo de utilización de este patrón es la implementación de cajas de dialogo en una interfaz gráfica .  Siempre que un objeto gráfico requiera comunicarse con otro ha de hacerlo a través de su intermediario (Director_Dialogo). evitando que los objetos participantes se tengan que referenciar entre ellos explícitamente . encapsulando la conducta colectiva en un objeto llamado intermediario. Los objetos participantes solo conocen al intermediario. Frecuentemente existen dependencias entre los elementos gráficos en el dialogo.

propone que los elementos esenciales de un patrón son los siguientes: 1. que se puede instanciar mediante el arrastre desde un icono que lo representa y que se incorpora inmediatamente a la aplicación que se está construyendo. . A lo sumo. el problema y su solución Contexto Resultante: El estado en el cual queda el sistema después de aplicar el patrón y las consecuencias de hacerlo Racionalidad: Una explicación justificada de los pasos o reglas en el patrón Relaciones: relaciones estáticas y dinámicas del patrón con otros Usos conocidos: Describe ocurrencias del patrón conocidas y su aplicación dentro de los sistemas existentes La propuesta de Gamma (1995). denominados componentes y que permiten construir de forma rápida partes de la aplicación. Los patrones. sus soluciones y consecuencias. Al asignar un nombre. ventanas. Aquí se explica el problema y su contexto. Esto significa que se trata de clases que combinan un conjunto de otras formando macroobjetos pero que están integradas en la librería de clases suministrada con el producto. Patrones y componentes Cabría aquí preguntarse por la diferencia entre patrones de diseño y componentes . en particular la interfaz de usuario. estamos facilitando la tarea de diseño puesto que nos comunicamos a un mayor nivel de abstracción. podrían almacenarse en una base de datos a la cual accedemos cuando nos enfrentamos a las diversas decisiones de diseño durante las fases de análisis y de diseño. y en una instalación muy bien organizada. del nivel de abstracción y de la publicación misma se han presentado varios formatos para encapsular la información de un patrón. La disponibilidad inmediata de botones. Los problemas de interacción con el usuario y el nivel de usabilidad tienen que ver con problemas de diseño más complejos que con la construcción 'física' de la interfaz. por ejemplo. De esta manera. Sólo son modelos de combinación que pueden utilizarse en el momento que se presenta un problema similar al que pretende dar solución el patrón correspondiente. fácil de recordar y asociar a la información que sigue Problema: Un enunciado que describe las metas y objetivos buscados y el contexto Contexto: Define las precondiciones en las cuales ocurren el problema y su solución Fuerzas: Descripción de las fuerzas y restricciones relevantes en el problema y como interactúan o entran en conflicto Solución: Las relaciones estáticas y reglas dinámicas que describen cómo solucionar el problema Ejemplos: Uno o más ejemplos que ilustren el contexto. El problema describe cuando aplicar el patrón. por su lado. 2. se pueden ir implementando nuevos componentes a los cuales se asociarán íconos que los identifiquen y que permitan utilizarlos de la misma manera que los suministrados originalmente con el producto.5. Un nombre del patrón. no forman parte de ninguna librería de clases . etc hacen que la construcción de una interfaz gráfica sea desde un punto de vista técnico una tarea relativamente sencilla. Es bastante difícil encontrar nombres adecuados que sirvan a este propósito. La diferencia fundamental con un patrón es que el componente es una combinación fija de objetos. Es una forma abreviada que pueda darnos una idea del problema al que se aplica. menús desplegables. Un añadido útil es el de las condiciones de aplicabilidad del patrón. Los puntos más significativos que debe contener un patrón son:           Nombre: Significativo y corto. Descripción de patrón y plantillas de patrones Dependiendo del autor. 6. Encontramos en el mercado una serie de productos que incorporan un conjunto de elementos.

4) Motivación. 4. 2) Intención 3) También conocido como (Sinónimo). 8) Colaboraciones 9) Consecuencias. 5) Aplicabilidad 6) Estructura. Se insiste mucho en que esta solución es como una plantilla que provee una descripción abstracta de un problema de diseño y cómo una disposición general de elementos (en este caso clases y objetos) puede resolverlo. Siguiendo a Gamma. 1) Nombre del Patrón y Clasificación. responsabilidades y colaboraciones. La solución describe los elementos que constituyen el diseño. 12) Usos conocidos y Patrones relacionados . Estos son los elementos esenciales. encontramos la siguiente lista y descripción de secciones dentro de la plantilla que describe cada patrón. la plantilla propuesta estará compuesta por una serie de secciones que permiten una estructura más detallada que la ofrecida por la enumeración de los elementos esenciales. 7) Participantes. 10) Implementación 11) Ejemplo de código.3. pero cuando se trata de realizar una descripción concreta de un patrón. sus relaciones. Las consecuencias son los resultados y compromisos de aplicar el patrón. Este formato estructurado es útil puesto que permite la separación semántica de lo que podría haber sido un texto completo y permite además su almacenamiento en una base de datos para su posterior acceso si deseamos aumentar su reutilización.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->