Está en la página 1de 5

Universidad cooperativa de Colombia

Ensayo la importancia de los patrones de diseño OO, en los proyectos de


software.

Juan Raul Vergara Villadiego

Jhon Erick Bonilla

26/02/2021

Multicampus
Ibague/Espinal

1|Página
PATRONES DEL DISEÑO ORIENTADO A OBJETOS

Se trata de soluciones sencillas y elegantes a problemas de diseño orientados a


objetos específicos y comunes. Son soluciones basadas en la experiencia y con
una eficacia demostrada.
Un modelo es una descripción del problema y la esencia de su solución que puede
reutilizarse en diferentes casos.
Está claro que un equipo de desarrollo no sólo aplica continuamente los principios
del diseño orientado a objetos, sino que es más probable que utilice las soluciones
aplicadas en el pasado para resolver los problemas del presente.
La solución a algunos problemas de desarrollo viene en forma de bloques de
código y esqueletos de una solución, estos bloques de código se llaman modelos.
Podríamos definir un patrón de la siguiente manera:
"Un patrón describe un problema que se produce de forma iterativa en nuestro
entorno, también describe la solución a ese problema, por lo que podemos utilizar
la misma solución tantas veces como sea necesario".

Tipos de patrones:

 Estructurales
 De creación
 De comportamiento
Los patrones de diseño son un conjunto de buenas prácticas de diseño utilizadas
para resolver problemas recurrentes en la programación orientada a objetos.

Objetivos de los patrones

Las plantillas de diseño están pensadas para :

- Proporcionar catálogos de elementos reutilizables en el diseño de sistemas


de software.
- Para evitar la repetición en la búsqueda de soluciones a problemas
previamente conocidos y resueltos.
- Formalizar un vocabulario común entre los diseñadores.
- Estandarizar la forma de diseñar.
- Facilitar el aprendizaje de las nuevas generaciones de diseñadores
condensando los conocimientos existentes.

Tampoco tienen intención de hacerlo:

2|Página
- Hacer prevalecer ciertas alternativas de diseño sobre otras.
- Eliminar la creatividad inherente al proceso de diseño.

En General un patrón tiene cuatro elementos esenciales:

- El nombre del modelo: permite describir en una o dos palabras un problema


de diseño, así como sus soluciones y consecuencias.
- El problema describe cuándo debe aplicarse el modelo. Explica el problema
y su contexto. A veces el problema contiene un conjunto de condiciones
que deben cumplirse para que tenga sentido aplicar el modelo.
- La solución describe los elementos que componen el diseño, sus
relaciones, responsabilidades y colaboración. La solución no describe un
diseño o implementación particular, sino un modelo que puede aplicarse en
muchas situaciones diferentes.
- Las consecuencias son los resultados y las ventajas e inconvenientes de la
aplicación del modelo. Estos elementos son fundamentales para evaluar las
alternativas de diseño y conocer los costes y beneficios de la aplicación del
modelo.
Uso de patrones en el diseño

Las plantillas de diseño pueden utilizarse aplicando diferentes mecanismos:


herencia y composición. Se debe preferir la composición de objetos a la herencia
cuando ambas opciones están disponibles. En lugar de crear grandes y difíciles
jerarquías de clases (una consecuencia del uso excesivo de la herencia), la
composición favorece pequeñas jerarquías de clases y objetos que se centran en
un único objetivo. La composición utiliza los patrones existentes de forma no
modificada.
En el desarrollo de software, existen 3 familias de patrones:

- Patrones de diseño
- Patrones arquitectónicos
- Patrones de refactorización
Para trabajar con patrones de diseño, tenemos que identificar el problema y
aplicar el patrón que nos da la solución. Nunca debemos aplicarlo a un problema
cuya descripción no coincida exactamente con la definición del modelo.

Un modelo de diseño puede considerarse como un documento que define una


estructura de clases que responde a una situación concreta. Los modelos de
diseño se dividen en tres grandes grupos:
 Patrones de creación:
Los modelos de creación proporcionan asistencia en la creación de objetos,
especialmente cuando esta creación requiere decisiones. La toma de decisiones

3|Página
mediante modelos puede ser dinámica. Estos modelos ayudan a estructurar y
encapsular estas decisiones. A veces hay varios modelos que pueden aplicarse a
una misma situación. En otras ocasiones, se pueden combinar varios modelos de
forma práctica. Estos son algunos de los modelos más utilizados:

Modelo de fábrica abstracta, modelo de constructor, modelo de método de


fabricación, modelo de prototipo, modelo de instancia única (Singleton).
 Patrones estructurales:
Los modelos de marco describen cómo los objetos y las clases pueden
combinarse para formar estructuras más grandes, es decir, proporcionan los
mecanismos para hacerlo. La diferencia entre el modelo de clases y el modelo de
objetos es que las clases utilizan la herencia para desarrollar la abstracción y
cómo ésta puede utilizarse para proporcionar más utilidad al programa de la
interfaz. Por otro lado, los modelos estructurales describen cómo se pueden
conectar y combinar los objetos para formar estructuras más grandes y complejas.
Algunos de los modelos estructurales más utilizados son los siguientes:
Adaptador, Puente, Compuesto, Decorador, Fachada, Flyweight, Proxy.

 Patrones funcionales:
Los patrones funcionales tratan específicamente la comunicación entre los
objetos.

Patrón de Cadena de Responsabilidad, Patrón de Comando, Patrón Intérprete,


Patrón Iterador, Patrón Mediador, Patrón Memento, Patrón Observador, Patrón de
Estado, Patrón de Estrategia, Patrón del Método Plantilla, Patrón Visitante.

Conclusión

Como se puede ver en este documento, el uso de plantillas proporciona una


flexibilidad que permite el desarrollo de aplicaciones más abiertas a cambios y
actualizaciones. Sin embargo, estas ventajas pueden tener algunos
inconvenientes que hay que tener en cuenta. El diseño de modelos puede
complicar las pruebas o la complejidad del código, por lo que corresponde a los
desarrolladores analizar el impacto de su aplicación durante el proceso de
modelado. La aplicación de plantillas en el caso estudiado dio lugar a un diseño en
el que todos sus componentes principales están desacoplados, lo que facilita su
sustitución para ampliar la funcionalidad del simulador. Otra ventaja de desacoplar
estos componentes es un mantenimiento más fácil del diseño, ya que sus
funcionalidades están encapsuladas y separadas. Por otro lado, se ha podido
crear una interfaz no intrusiva con la lógica del simulador, lo que permite que éste
se mantenga lo más fiel posible a la arquitectura de hardware que simula. Esto
aumenta en gran medida la utilidad real del proyecto, ya que puede aplicarse más

4|Página
fácilmente a otras arquitecturas informáticas o se puede crear una interfaz más
fácil de usar. Según los autores, los modelos de diseño son prácticas excelentes
que todos los programadores deberían utilizar y no pueden enseñarse con
métodos tradicionales, sino que se enseñan a los estudiantes de forma práctica.

5|Página

También podría gustarte