Intención del patrón
- Controlar el acceso de escritura a los atributos de la clase.
- Separar los datos de los métodos que los usan.
- Encapsular la inicialización de datos de la clase.
- Proporcionar la forma de que una vez asignado el valor de un atributo, no vuelva a modificarse.
Ejemplo de problema
Una clase que exponer sus atributos (variables de clase) para ser manipulados. Cuando dicha manipulación ya no es deseada, por ejemplo, tras la ejecución del constructor. El uso del patrón de diseño Private Class Data previene dicha manipulación no deseada.Una clase puede tener atributos variables que no pueden ser declarados como final. Usando este patrón de diseño permite la asignación por única vez de este tipo de atributos.
La motivación por este patrón de diseño proviene del objetivo de proteger el estado de la clase reduciendo al mínimo la visibilidad de sus atributos.