Patrones de diseño, aplicabilidad y ejemplos en java

Páginas: 10 (2380 palabras) Publicado: 14 de mayo de 2010
Una versión mejorada y completa del documento puede ser encontrada en: http://jonaalvarez.blogspot.com

PATRONES DE DISEÑO: APLICABILIDAD Y EJEMPLO EN JAVA.

JÓNATHAN ÁLVAREZ GONZÁLEZ. COD: 1087995688.

UNIVERSIDAD TECNOLÓGICA DE PEREIRA.
PROGRAMA INGIENERÍA DE SISTEMAS Y COMPUTACIÓN. IS563.
PROGRAMACIÓN ORIENTADA A OBJETOS PEREIRA,
MARZO 2010.

PATRONES DE DISEÑO. Los patrones dediseño son un conjunto de estrategias o buenas prácticas que facilitan el trabajo a la hora de desarrollar una aplicación en específico. Coloquialmente “Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.” Se caracterizan por ser una agrupación de soluciones a problemas no triviales, generalizados y aplicables para cualquier lenguaje deprogramación que trabaje el paradigma Orientado a Objetos y que de ésta forma son implementaciones reutilizables y efectivas, pues ya se ha comprobado la solución de los problemas de forma satisfactoria. Los patrones de diseño se dividen en tres principales grupos clasificados según sus propósitos, son conocidos además en honor a sus cuatro autories como la banda de los cuatro (Gang of Four – GoF), lospatrones se clasifican en: 1. Patrones Creacionales. 2. Patrones Estructurales. 3. Patrones de Comportamiento. Por intereses propios del curso, sólo serán reseñados dos patrones de cada clase. 1. PATRONES CREACIONALES. Estándares de creación de clases, abstrayendo la forma en la que se crean los objetos. 1.1 Factoría (Factory). Este patrón se basa en el concepto que un objeto especializado seencarga de instanciar otros diferentes objetos y estos proporcionan la interfaz del objeto recibido. Supóngase un mall de comidas, de ellos existen de diferentes especializaciones, comidas típicas, comida rápida, comidas internacionales. Llevando esto a la programación orientada a objetos obtenemos algo cómo esto:
public abstract class MallComidas { public abstract String darComida(); } public classComidaTipica extends MallComidas { @Override public String darComida() { return "Bandeja paisa."; } } public class ComidaRapida extends MallComidas { public String darComida() { return "Combo Hamburguesa y papas fritas agrandadas."; }

}

4

Si quisiéramos ahora poner en funcionamiento nuestro pequeño programa deberíamos hacer algo como esto:
public class Main { public static void main(String[] args ) { MallComidas cena = null; //Capricho es un dato ingresado por el cliente if( capricho.equals("comida tipica") ) { cena = new ComidaTipica(); } else if ( capricho.equals("comida rapida") ) { cena = new ComidaRapida(); } System.out.println( cena.darComida() ); } }

La implementación como tal no tiene nada erróneo. Procedamos ahora a construir nuestra Factoría y definiremos de nuevonuestra clase Main.
public class Factoria { public static MallComidas crearComida( String capricho ) { if( capricho.equals("comida tipica") ) { return new ComidaTipica(); } else if ( capricho.equals("comida rapida") ) { return new ComidaRapida(); } return null; } }

public class Main { public static void main( String[] args ) { MallComidas cena = Factoria.crearComida( "comida tipica" );System.out.println( cena.darComida() ); } }

Lo que hemos logrado ahora es un código mucho más legible, donde tal como se ve, un patrón Factory elige el objeto a instanciar y esconde éste código, promoviendo el encapsulamiento de las partes más variables del sistema; la clase principal/ foco ejecutable Main es mucho más agradable a vista dada su notable reducción, luego, cualquiera podrá ordenarcomida sin necesidad de conocer el mall de comida a instanciar. 1.2 Instancia Única (Singleton). La instancia única parte de la necesidad de permitir una y sola una instancia de alguna clase en específico, esto se logra permitiendo que sea la propia clase la encargada de garantizar la existencia de una única clase. 5

Las instancias únicas son necesarias a medida en que un objeto debe controlar el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Patrones De Diseño Java
  • Patrones de diseño java
  • Patrones De Diseño En Java
  • patrones java
  • Patrones De Diseno
  • Patrones De Diseño
  • Patrones de Diseño
  • Ejemplos java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS