Guía rápida: ¿Cómo aplicar el patrón de diseño de software: state?. Definiciones + ejemplo práctico.
Tema 1: ¿Qué es?
El patrón de diseño de software: State, es una técnica que tiene como objetivo, el cambio de comportamiento de un objeto tomando como referencia su estado actual. Una vez diligenciado cada elemento estaremos generando los siguientes beneficios:
* Reducir las cadenas de estructuras condicionales como If o switch.
* Simplifica la inclusión de nuevos estados en los eventos de la aplicación de software.
* Facilitar el mantenimiento, lectura y administración del código fuente de las clases.
Las buenas prácticas para materializar los beneficios enunciados, son las siguientes:
* Identificar eventos de la aplicación que requieren de una estructura condicional compleja.
* Identificar los cambios de comportamiento que se presentan dentro de un evento de la aplicación de software que requieren tener como referencia el estado actual.
* Las condiciones para aplicar correctamente las buenas prácticas enunciadas, se explican en pre-condiciones y post-condiciones.
Tema 2: Pre-Condiciones y Post-Condiciones para aplicar el patrón de diseño de software: state.
Este cuadro expone los pasos previos y posteriores que se deben ejecutar para aplicar correctamente las buenas prácticas enunciados en el tema: ¿Qué es?.
| Paso | Acción clave | Condición |
|---|---|---|
| 1. El patrón de diseño de software: Adapter. | Pre. | |
| 2. El patrón de diseño de software: Builder. | Pre. | |
| 3. El patrón de diseño de software: Factory method. | Pre. | |
| 4. El patrón de diseño de software: Observer. | Pre. | |
| 5. El patrón de diseño de software: Singleton. | Pre. | |
| 6. El patrón de diseño de software: State. | Ver el contenido de la presente guía. | |
| 7. El patrón de diseño de software: Strategy. | Post. | |
Tema 3: Sobre el autor.
Juan David López Pava: Profesional en administración de empresas y desarrollo de software con certificaciones del PMI y Scrum Institute, apasionado por la transformación digital y la dirección de proyectos de tecnología.