Todo lo que acabas de ver en este artículo es solo una pequeña parte del libro Introducción a los patrones de diseño, el libro más completo de patrones de diseño en español, abarcamos 25 patrones de diseño junto con 25 proyectos del mundo real. Olvídate de aprender patrones de diseño con los ejemplos típicos de Internet de cómo hacer una pizza, animales y figuras geométricas. te invito a que veas mi libro:
Ver libroNull Object
Patrón de diseño de comportamientoEl patrón de diseño Null Object nace de la necesidad de evitar los valores nulos que puedan originar error en tiempo de ejecución. Básicamente lo que este patrón propone es utilizar instancias que implementen la interface requerida pero con un cuerpo vacío en lugar de regresar un valor null.
Los componentes que conforman el patrón son los siguientes:
- Client: Componente que utiliza las instancias que puede ser afectado por un objeto nulo.
- AbstractObject: Interface común entre el objeto real y su objeto de representación nula.
- ConcreteObject: Clase que representa al objeto real, el cual tiene una implementación concreta; será creado siempre y cuando el objeto buscado exista.
- NullObject: Objeto con implementación de sus métodos vacíos, devuelto en lugar de regresar una referencia nula. Será creado únicamente cuando el objeto buscado no exista.
- El cliente intenta buscar un objeto determinado.
- El ObjectLookup busca si el objeto solicitado existe.
- Si el objeto solicitado no existe entonces regresa una instancia de NullObject.
- Por otra parte, si el objeto es localizado entonces se regresa una instancia del ConcreteObject.
- Se regresa al cliente cualquiera de las dos instancias anteriores, sin embargo, éste nunca obtendrá una referencia nula en caso de no encontrarse.
Ejemplo del mundo real
Mediante la implementación del patrón de diseño Null Object crearemos un servicio de búsqueda de empleados, el cual evite regresar instancias nulas en caso de que no exista el empleado solicitado. Si el empleado solicitado no existe, entonces será regresa una NullEmployee, el cual es la representación no nula de un empleado inexistente.
¿Sabes la importancia de los patrones de diseño?
Los patrones de diseño son la clave para crecer profesionalmente hacia la arquitectura de software, sin mencionar que los salarios son los más altos de la industria de IT, descúbrelo en este video.