Objeto divino

God object es un  antipatrón de programación orientada a objetos que describe un objeto que almacena "demasiado" o hace "demasiado".

La idea básica de la programación modular es que una gran tarea se divide en subtareas más pequeñas y relativamente independientes (el principio de " divide y vencerás "). En el desarrollo de la programación modular, la programación orientada a objetos, este principio se expresa en la creación de muchos objetos, cada uno de los cuales resuelve solo su propia tarea.

El enfoque del "objeto divino" es lo opuesto a este principio: la mayor parte de la funcionalidad del programa está codificada en un solo objeto. Dado que este objeto almacena una gran cantidad de datos y tiene muchos métodos, su papel en el programa se vuelve "divino" (que lo abarca todo).

En lugar de comunicarse entre sí directamente, otros objetos dependen del objeto divino. Dado que tanto el código hace referencia al objeto divino, mantenerlo (realizar cambios) se vuelve difícil: existe un alto riesgo de romper la funcionalidad existente.

El objeto divino es el equivalente orientado a objetos de no usar subrutinas en la programación de procedimientos o usar demasiadas variables globales para almacenar información del estado del programa.

Si bien los objetos divinos se consideran una mala práctica de programación porque dañan la capacidad de mantenimiento del código, pueden ser útiles para trabajos con recursos limitados (en microcontroladores o teléfonos móviles ) donde el rendimiento es más importante que la capacidad de mantenimiento del código.

Literatura

Enlaces