NullPattern - Tensho97/Aprende-a-Aprender GitHub Wiki
Null Pattern
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.
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.
Autor : Julián