http://jcesar9287.blogspot.com/2011/11/antipatrones-de-diseno.html
http://jcesar9287.blogspot.com/2011/11/eventos-errores-y-excepciones.html
http://jcesar9287.blogspot.com/2011/10/heuristicas-de-diseno.html
http://jcesar9287.blogspot.com/2011/11/herencia.html
http://jcesar9287.blogspot.com/2011/11/biblioteca.html
http://jcesar9287.blogspot.com/2011/09/retroalimentacion-en-pares_27.html
http://jcesar9287.blogspot.com/2011/08/metodologias-de-analisis-y-diseno-de.html
http://jcesar9287.blogspot.com/2011/08/diagramas-casos-de-uso-y-clases.html
http://jcesar9287.blogspot.com/2011/08/crisis-del-software.html
Programación Orientada a Objetos
miércoles, 23 de noviembre de 2011
Antipatrones de diseño
Un anti patrón de diseño es un “estándar”, si se puede decir así, de diseñar las cosas mal en un software determinado. El resultado será un código totalmente des-optimizado y con una posibilidad casi nula de adaptarlo a otro Proyecto.
Existen muy diversos y variados anti patrones de diseño, los dos que les hablaremos corresponden al diseño orientado a objetos.
God Object
Este anti patrón de diseño tiene se crea por la mala estrategia del Diseñador, en un lenguaje Orientado a Objetos se tiene la ventaja de dividir un problema en partes más pequeñas, lo que se hace con este patrón es todo lo contrario.
El programador termina creando un objeto que se encarga de crear otros objetos, controlar su comportamiento y determinar la manera de representarlos, tal como si fuera Dios Todo Poderoso.
Este objeto contiene todos los métodos, y atributos de los demás, y determina como utilizarlos, vendría siendo como un Main de la programación estructurada, pero en forma de Objeto.
Singletonitis
Este anti patrón de diseño se crea al utilizar demasiado el patrón de singleton, esto quiere decir al momento de programar en diseño orientado a objetos, nosotros solo terminamos empleando una instancia para así evitar crear más objetos, sin embargo abusamos utilizándolo demasiado aun cuando esto no es necesario.
Referencias:
Elaborado junto a mi compañero Sergio Rdz
Eventos, Errores y Excepciones
Buscaminas
Eventos:
Errores y excepciones:
Elaborado con mi compañero Sergio Rdz
Componente Generador
|
Tipo de Evento
|
Acción que dispara
|
Botón Grafico:
“Iniciar”
|
Presionar y soltar
|
Inicia la creación del tablero, de los indicadores de mina y de las minas en sí, todas estas escondidas en casillas
|
Botón Grafico:
“Casilla”
|
Presionar y soltar
|
Destapa la casilla seleccionada, esta revelara un indicador de mina, una casilla vacía o una mina.
|
Botón Grafico:
“Casilla - Bandera”
|
Presionar y soltar
(Clic secundario)
|
Cubre la casilla con una Bandera indicadora, esta sirve para que el jugador se auto prevenga de destapar dicha casilla.
|
Menú Opción
“Juego”
|
Presionar
|
Despliegas las opciones para poder reiniciar el juego, salir y modificar opciones
|
Menú Opción
“Ayuda”
|
Presionar
|
Muestra una pequeña introducción para aprender a jugar al buscaminas.
|
Botón Grafico Menú
“Salir”
|
Presionar
|
Termina el juego actual.
|
Botón Grafico menú
“Reiniciar”
|
Presionar
|
Termina el juago actual, y comienza uno nuevo con la configuración actual.
|
Errores y excepciones:
Modo en que se genera
|
Manejo
|
Eliminación de archivos de configuración.
|
Despliegue de un mensaje de error en el que se detalle el archivo faltante y se muestre una posible solución para el usuario.
|
Eliminación de archivos de puntuaciones.
|
Despliegue de mensaje de error de archivo de puntuaciones faltantes, y cargar una copia de respaldo de este mismo, con puntuaciones anteriores.
|
Imágenes Faltantes.
|
Mensaje en el que se indique al usuario que las Imágenes no fueron cargadas correctamente y se pida reiniciar el juego.
|
Error Inesperado.
|
Mensaje en el que se indique al usuario que ocurrió un error inesperado, y darle la opción de levantar un reporte especificando el tipo de error.
|
Herencia
Herencia – SIASE
Alumno es un tipo de Usuario
Maestro es un tipo de Usuario
Cuota Interna es un tipo de pago
Herencia Buscaminas
Jugador fácil es un tipo de Jugador
Jugador Experto es un tipo de Jugador
Tablero Fácil es un tipo de Tablero
Biblioteca
Clases
|
Atributos
|
Métodos
|
Usuario
|
Nombre
Contraseña
Multas
|
Login
Logout
PedirLibro
Consultar
|
Libro
|
Estado
Consulta
Tiempo
|
MostraImagen
|
Herencia
- Usuario Licenciatura es un tipo de usuario
- Usuario Maestría es un tipo de usuario
- Usuario Doctorado es un tipo de usuario
- Usuario Maestro es un tipo de usuario
Sergio Rdz
Patrones de Diseño
Bebida Cafeinada
public abstract class BebidaCafeinada { public final void prepararReceta() { hervir(); poner(); servir(); agregarCondimentos(); System.out.println(); } public abstract void poner(); public abstract void agregarCondimentos(); public void hervir() { System.out.println("Hirviendo agua. "); } public void servir() { System.out.println("Sirviendo."); } }Té
public class Te extends BebidaCafeinada { public void poner() { System.out.println("Poniendo Té."); } public void agregarCondimentos() { System.out.println("Agregando limón."); } }Café
public class Cafe extends BebidaCafeinada { public void poner() { System.out.println("Poniendo café."); } public void agregarCondimentos() { System.out.println("Agregando Azucar y Leche."); } }Prueba Bebidas
public class PruebaBebidas { public static void main(String[] args) { Te te1 = new Te(); Cafe cafe1 = new Cafe(); System.out.println("Preparando té."); te1.prepararReceta(); System.out.println("Preparando Café."); cafe1.prepararReceta(); } }
Suscribirse a:
Entradas (Atom)