Actualizado el 18 de Mayo del 2018 (Publicado el 14 de Marzo del 2018)
2.099 visualizaciones desde el 14 de Marzo del 2018
2,8 MB
728 paginas
Creado hace 24a (09/07/2000)
UNIVERSIDAD DE OVIEDO
ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA
EN INFORMÁTICA DE OVIEDO
PROYECTO FIN DE CARRERA
GUÍA DE CONSTRUCCIÓN DE SOFTWARE EN JAVA CON
PATRONES DE DISEÑO
DIRECTOR:
JUAN MANUEL CUEVA LOVELLE
AUTOR:
FRANCISCO JAVIER MARTÍNEZ JUAN
VºBº del Director del Proyecto
GUÍA DE CONSTRUCCIÓN DE SOFTWARE EN
JAVA CON PATRONES DE DISEÑO
RESUMEN
Se trata de una aplicación, que de un modo didáctico, sirva para la comprensión y utilización
de patrones de diseño de forma clara y correcta en la construcción de software.
El proyecto está dividido en dos partes fundamentales:
• Una introducción teórica a los patrones de diseño.
• Ejemplos de aplicaciones utilizando patrones de diseño.
El desarrollo del proyecto consiste en la utilización de patrones de diseño en la realización de
programas, con un fin didáctico, explicando detalladamente los patrones utilizados, así como
la implementación de dichos ejemplos en uno de los últimos lenguajes de programación que
han aparecido y que mayor futuro tienen, debido a sus numerosas ventajas, el lenguaje Java.
PALABRAS CLAVE
Guía, Patrones de diseño, Lenguaje Java, Tecnología Orientada a Objetos,
Notación UML, Software, Singleton,
Iterator, Strategy, Observer,
Prototype, Composite, Decorator, Factory Method, State, Template
Method, Command, Adapter, Mediator, Null Object, JHotDraw.
GUIDE TO SOFTWARE CONSTRUCTION USING
DESIGN PATTERNS IN JAVA
ABSTRACT
This is an application with a didactic purpose: be useful to the understanding and the use of
design patterns -in a right and fair way- in the building of software.
The project has two parts:
• An theoric introduction to design patterns.
• Examples of applications using design patterns.
The development of the project consists in the use of design patterns in the making of
programs with a didactic purpose, explaining in detail the patterns used as well as the
implementation of that examples in one of the lastest appeared and best-futured (due to its
numerous advantages) programation languages: Java language.
KEY WORDS
Guide, Design patterns, Java language, Object-Oriented technology, UML
notation, Software, Singleton, Iterator, Strategy, Observer, Prototype,
Composite, Decorator, Factory Method, State, Template Method,
Command, Adapter, Mediator, Null Object, JHotDraw.
TABLA DE CONTENIDOS
1. INTRODUCCIÓN.....................................................................................................................................................1
1.1. JUSTIFICACIÓN...............................................................................................................................................1
1.2. INTRODUCCIÓN A LOS PATRONES...........................................................................................................2
1.2.1. Desarrollo histórico ...............................................................................................................................4
1.2.2. Patrones de software ..............................................................................................................................5
1.2.2.1. Definiciones.......................................................................................................................................5
1.2.2.2. Características de los patrones software ......................................................................................6
1.2.2.3. Clases de patrones software ...........................................................................................................7
1.3. PATRONES DE DISEÑO..................................................................................................................................8
1.3.1. ¿Qué es un patrón de diseño?...............................................................................................................9
1.3.2. Descripción de patrones de diseño................................................................................................... 10
1.3.3. Cualidades de un patrón de diseño.................................................................................................. 12
1.3.4. Clasificación de los patrones de diseño.......................................................................................... 13
1.3.5. El catálogo de patrones de diseño ................................................................................................... 15
1.3.6. Patrones de diseño, reglas y creatividad ........................................................................................ 23
1.3.7. Patrones y algoritmos......................................................................................................................... 24
1.3.8. Patrones y frameworks........................................................................................................................ 25
1.3.9. Donde usar los patrones..................................................................................................................... 26
1.3.10. Seleccionar un patrón de diseño.................................................................................................... 32
1.3.11. Como usar un patrón de diseño...................................................................................................... 33
1.3.12. El futuro de los patrones ................................................................................................................. 34
1.4. ANTIPATRONES............................................................................................................................................34
1.5. CONCLUSIÓN .................................................................................................................................................36
2. EXPLICACIÓN DETALLADA DE LOS PATRONES DE DISEÑO UTILIZADOS EN LOS EJEMPLOS
....................................................................................................................................................................................... 37
2.1. SINGLETON [GOF95]......................................................................................................................................37
2.1.1. Objetivo.................................................................................................................................................. 37
2.1.2. Aplicabilidad........................................................................................................................................ 37
2.1.3. Solución................................................................................................................................................. 37
2.1.4. Consecuencias...................................................................................................................................... 38
2.1.5. Implementación .................................................................................................................................... 38
2.1.6. Usos en el API de Java ........................................................................................................................ 38
2.1.7. Patrones relacionados........................................................................................................................ 39
2.2. ITERATOR [GOF95]........................................................................................................................................41
2.2.1. Objetivo.................................................................................................................................................. 41
2.2.2. Aplicabilidad........................................................................................................................................ 41
2.2.3. Solución................................................................................................................................................. 41
2.2.4. Consecuencias...................................................................................................................................... 42
2.2.5. Implementación .................................................................................................................................... 42
2.2.6. Usos en el API de Java ........................................................................................................................ 43
2.2.7. Patrones relacionados........................................................................................................................ 43
2.3. STRATEGY [GOF95].......................................................................................................................................45
2.3.1. Objetivo.................................................................................................................................................. 45
2.3.2. Aplicabilidad........................................................................................................................................ 45
2.3.3. Solución................................................................................................................................................. 45
2.3.4. Consecuencias...................................................................................................................................... 46
2.3.5. Implementación .................................................................................................................................... 46
2.3.6.
Comentarios de: GUÍA DE CONSTRUCCIÓN DE SOFTWARE EN JAVA CON PATRONES DE DISEÑO (0)
No hay comentarios