Null Object

Patrón de diseño de comportamiento

El 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.

Estructura del patrón de diseño Null Object
Estructura del patrón de diseño Null Object.

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.
Diagrama de secuencia del patrón null object
Diagrama de secuencia del patrón null object.
  1. El cliente intenta buscar un objeto determinado.
  2. El ObjectLookup busca si el objeto solicitado existe.
  3. Si el objeto solicitado no existe entonces regresa una instancia de NullObject.
  4. Por otra parte, si el objeto es localizado entonces se regresa una instancia del ConcreteObject.
  5. 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.

Descubre como el patrón Nulll Object nos ayuda a resolver este problema
Descubre como el patrón Nulll Object nos ayuda a resolver este problema.

¿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.

🎉 Este video es parte del curso de patrones de diseño, inscríbete aquí 🎉

Acerca de este libro

Introducción a los patrones de diseño

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 libro
Todos los derechos reservados ©
Reactive programming
LinkedinYoutubeTwitterFacebook

© 2021, Copyright - Oscar Blancarte. All rights reserved.