Patrones de diseño de Ingeniería del Software

Posted by admin on July 17, 2012

Introducción

Los patrones de diseño son un concepto relativamente nuevo en la ingeniería de software, y tienen sus orígenes en la ingeniería civil. Esencialmente son un modelo para resolver un problema específico, permitiendo que los beneficios de una solución óptima para ser trasladadas a las nuevas implementaciones.

La aplicación de patrones de diseño para el dominio de la ingeniería de software se formalizó por primera vez en los “patrones de diseño: elementos de Reusable Object-Oriented Software” libro de Eric Gamma, Helm, Richard, Ralph Johnson y John Vlissides, en 1995. El libro seleccionado 23 modelos que se consideran básico para entender el enfoque de modelo en la solución de problemas de ingeniería de software.

Si bien este libro también figuran muchos de los principios, que no tenía un modelo general para las pautas de uso a disposición del público más amplio. Posteriormente, los patrones se aplican todavía no se ha convertido en un ejercicio patrón de motor. Los ingenieros son libres de decidir cómo utilizar mejor los patrones en diferentes aplicaciones.

Estructura de los patrones de diseño

Lo que está claro es que no tiene que ser la estructura en la cual los patrones pueden ser formuladas, lo que permite que sean en gran medida auto-documentado. De hecho, uno de los principios de la utilización de patrones de diseño es que debe estar estructurado, permitiendo que cada uno se crea a partir de una plantilla.

Por lo menos, una plantilla debe contener:

o Nombre del patrón: breve, pero descriptivo;

o Propósito: el objetivo del patrón;

La motivación o: ejemplo de un problema, y ​​cómo este modelo va a resolver;

Aplicabilidad o: utiliza para este patrón;

o Estructura: los esquemas de los patrones de las clases;

o Participantes: las responsabilidades de las clases en el patrón;

o Colaboraciones: las interfaces entre los participantes;

Consecuencias o: algún ventajas comparativas y las fuerzas que existen dentro del patrón.

Esta lista es una adaptación de la proporcionada por los patrones de diseño autores, y se puede utilizar como rígida o tan libremente como se requiere. Algunos aspectos resultarán de no añadir ningún valor útil para la plantilla, pero se proporcionan aquí en interés de la integridad.

También se ha abstenido de usar “clases y objetos de la expresión, como es común en las discusiones de los patrones de diseño, y prefieren utilizar sólo las« clases »del término. La razón de esto es un objeto de diseño de preferencia orientada – si un patrón necesita ser definida en términos de objetos, a continuación, una decisión de ejecución se han realizado algunos y forzado a adoptar futuras del patrón específico.

Aplicación de Patrones de Diseño en Ingeniería de Software

Una de las principales ventajas en el uso de patrones de diseño en ingeniería de software es como una forma de mejorar la comunicación entre los diseñadores, y, hasta cierto punto, entre los no-programadores y programadores. En otras palabras, como una herramienta de comunicación, los patrones pueden resultar muy valiosa.

Además, mediante la abstracción de soluciones a problemas comunes de ingeniería de software, patrones de diseño se puede utilizar una y otra vez. Puesto que utilizan una solución comprobada cada vez, reutilizar a nivel de diseño es muy alta. Esto mejora la calidad de las implementaciones resultantes más allá de lo que sería posible utilizando técnicas orientadas sólo objeto.

La aplicación de patrones de diseño en el mundo real necesariamente debe llevarse a cabo con referencia a otros principios ya desplegados. En otras palabras, al tiempo que ofrecen soluciones a problemas comunes de ingeniería de software, no hay valor añadido en la creación de modelos para todas las partes de un sistema en desarrollo.

En su lugar, se debe utilizar en los casos en que la aplicación resultante (o diseño) es probable que tenga un uso en futuros proyectos. En esencia, la mejor manera de utilizar los patrones de diseño en ingeniería de software es estándar en la prestación de los comportamientos entre las clases altamente especializados en un sistema de software. La no son una técnica de diseño de por sí, en la forma en que los paradigmas son otros.

Resumen

Las razones para el uso de patrones de diseño son esencialmente paralelos a los de utilizando cualquier técnica orientados a objetos. Los patrones de diseño fomentar la reutilización, sin restringir las implementaciones de una plataforma específica o el idioma, y ​​promover el uso eficiente del tiempo de diseño. Ellos pueden ser vistos como el equivalente diseño de programación orientada a modular o objeto.

Sus puntos fuertes, sin embargo, también puede ser visto como su debilidad. Al no ser puestas en práctica, el programador sigue siendo necesaria para realmente codificar, y como tal, cualquier error en la interpretación se traduce en el código fuente final. Esto significa que los programadores diferentes pueden acabar con implementaciones diferentes de un mismo modelo, posiblemente, incluso con diferentes comportamientos.

Cuando se trabaja con patrones de diseño, por lo que es importante recordar que debe ser lo suficientemente precisa que no hay malas interpretaciones posibles. El uso de un adecuado lenguaje de alto nivel de definición que se pueda demostrar que es correcta ayudará a asegurar esto.

Categories: Software

Comments are closed.