Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porSilvia Mendoza Castillo Modificado hace 8 años
1
Un paseo por las nuevas funciones
2
Patrones de Diseño Por si no ha quedado claro, los Patrones de Diseño, son el esqueleto de las soluciones a problemas comunes en el desarrollo de software. PATRONES DE DISEÑO Creacionales Estructurales De Comportamiento
3
Patrón State Definición Definición : permite que un objeto cambie su comportamiento en tiempo de ejecución, dependiendo del estado del mismo. Dónde usarlo Dónde usarlo : cuando un determinado objeto tiene diferentes estados y distintas responsabilidades según el estado en que se encuentre en determinado instante. Para simplificar casos en los que se tiene un complicado y extenso código de decisión que depende del estado del objeto PATRONES DE DISEÑO Creacionales Estructurales De Comportamiento
5
Mejor con un ejemplo EstadoA escribe una cadena en minúscula y EstadoB en mayúscula. Para éste ejemplo comenzamos en el estado A, cambiaremos a B y en éste estado permaneceremos durante 2 llamadas y cambiaremos de nuevo al estado A. EstadoA EstadoB 1 2 3
6
Implementación de la interfaz y los estados interface IState { void writeName(StateContext stateContext, String name); } class StateA implements IState { public void writeName(StateContext stateContext, String name) { System.out.println(name.toLowerCase()); stateContext.setState(new StateB()); } class StateB implements IState { private int count=0; public void writeName(StateContext stateContext, String name){ System.out.println(name.toUpperCase()); if(++count>1) { stateContext.setState(new StateA()); }
7
Implementación del contexto public class StateContext { private IState myState; public StateContext() { setState(new StateA()); } public void setState(State newState) { this.myState = newState; } public void writeName(String name) { this.myState.writeName(this, name); } public class TestClientState { public static void main(String[] args) { StateContext sc = new StateContext(); sc.writeName(“Lunes"); sc.writeName(“Martes"); sc.writeName(“Miércoles"); sc.writeName(“Jueves"); sc.writeName(“Viernes"); } lunes MARTES MIÉRCOLES jueves VIERNES
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.