Cuadernillo de Actividades Programacion de Aplicaciones 2do Parcial
Enviado por jas1996 • 23 de Enero de 2018 • Resumen • 2.072 Palabras (9 Páginas) • 153 Visitas
[pic 1][pic 2]
[pic 3][pic 4][pic 5][pic 6]
NOMBRE:
MATRÍCULA:
GRUPO:
CATEDRÁTICO:
III.-PATRONES DE DISEÑO
Temas | Saber | Saber hacer | Ser |
Conceptos básicos de un patrón de diseño. | Identificar los conceptos de un patrón de diseño. | Analítico Ordenado Sistemático Objetivo | |
Patrones de diseño. | Identificar las características de los diferentes patrones de diseño existentes: Singleton. Refactory. Proxy. MVC. | Desarrollar aplicaciones empleando diferentes patrones de diseño. | Analítico Ordenado Sistemático Objetivo Coherente Proactivo Planificador Creativo Innovador Comprometido Responsable |
"Cada patrón describe un problema que ocurre infinidad de veces en nuestro entorno, así como la solución al mismo, de tal modo que podemos utilizar esta solución un millón de veces más adelante sin tener que volver a pensarla otra vez."
PATRONES DE DISEÑO
- Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.
- Son la base para la búsqueda de soluciones a problemas comunes en el desarrollo del software y otros ámbitos referentes al diseño de interacción o interfaces.
- Brindar una solución ya probada y documentada a problemas de desarrollo de software que están sujetos a contextos similares.
OBJETIVOS
- Proporcionar catálogos de elementos reusables en el diseño de sistemas software.
- Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados anteriormente.
- Formalizar un vocabulario común entre diseñadores.
- Estandarizar el modo en que se realiza el diseño.
- Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente.
Asimismo, no pretenden:
- Imponer ciertas alternativas de diseño frente a otras.
- Eliminar la creatividad inherente al proceso de diseño.
TIPO DE PATRONES
Patrones Creacionales: Corresponden a patrones de diseño software que solucionan problemas de creación de instancias. Nos ayudan a encapsular y abstraer dicha creación. Ejemplo:
- Fábrica Abstracta ( Abstract Factory )
- Método de Fabricación ( Factory Method )
- Prototipado ( Prototype )
- Singleton
- MVC ( Model View Controler )
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. Ejemplo:
- Adaptador (Adapter)
- Puente (Bridge)
- Objeto Compuesto (Composite)
- Envoltorio (Decorator)
- Fachada (Facade)
- Peso Ligero (Flyweight)
- Apoderado (Proxy)
Patrones de Comportamiento: Más que describir objetos o clases, describen la comunicación entre ellos.
- Chain of Responsibility (Cadena de responsabilidad)
- Command (Orden)
- Interpreter (Intérprete)
- Iterator (Iterador)
- Mediator (Mediador)
- Memento (Recuerdo)
- Observer (Observador)
- State (Estado)
- Strategy (Estrategia)
- Template Method (Método plantilla)
- Visitor (Visitante)
Patrones de interacción: Buscan la reutilización de interfaces eficaces y un manejo óptimo de los recursos de las páginas web, haciendo más eficaz el consumo de tiempo en el diseño del sitio web y permitiendo a los programadores novatos adquirir más experiencia.[pic 7]
[pic 8][pic 9]
SINGLETON
- Singleton (instancia única) esta diseñado para restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto.
- Su intención consiste en garantiza que una clase solo tenga una instancia y proporcionar un punto de acceso global a ella.
- Se implementa creando en nuestra clase un método que crea una instancia del objeto solo si todavía no existe alguna. Para asegurar que la clase no pueda ser instanciada nuevamente se regula el alcance del constructor (con atributos como protegido o privado)
Es global debido a que:
- La propia clase es responsable de crear la única instancia.
- Permite el acceso global a dicha instancia mediante un método de clase.
- Declara el constructor de clase como privado para que no sea instanciable directamente.
Se utiliza cuando:
- Cuando la clase controla el acceso a un recurso físico único.
- Cuando cierto tipo de datos debe estar disponible para todos los demás datos para todos los demás objetos de la aplicación.
[pic 10]
[pic 11]
[pic 12]
FACTORY
- Es uno de los diseños mas usados en Java. Este patron pertenece a los creacionales y provee una de las mejores formas de crear un objeto.
- Se crea un objeto sin exponer la lógica al cliente y se hace referencia al objeto creado usando una interface común.
ESTRUCTURA
[pic 13]
EJEMPLO
public interface Shape {
void draw();
}
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Inside Rectangle::draw() method.");
}
}
public class Square implements Shape {
@Override
public void draw() {
System.out.println("Inside Square::draw() method.");
}
}
public class Circle implements Shape {
@Override
public void draw() {
...