|
|
Las reglas siguientes definen una estrategia simple para crear objetos inmutables. No todas las clases documentadas como "inmutables" siguen estas reglas. Esto no significa necesariamente que los creador de estas clases eran descuidados ellos pueden tener buena razón de creer que los casos de sus clases nunca cambian después de la construcción. Sin embargo, tales estrategias requieren análisis sofisticado y no están para los principiantes.
1. No proporcione los métodos del "setter", los métodos que modifican los campos o los objetos referidos por los campos.
2. Haga todos los campos finales y privados.
3. No permita que las subclases eliminen métodos. La manera más simple de hacer esto es declarar la clase como final. Un acercamiento más sofisticado es hacer al constructor privado y construir casos en métodos de la fábrica.
4. Si los campos del caso incluyen referencias a los objetos mutable, no permita que esos objetos sean cambiados:
No proporcione los métodos que modifican los objetos mutable.
No comparta las referencias a los objetos mutable. Nunca almacene las referencias a los objetos externos, mutable pasados al constructor; en caso de necesidad, cree las copias, y almacene las referencias a las copias. Semejantemente, cree las copias de sus objetos mutable internos cuando es necesario para evitar de volver las originales en sus métodos.
Online: 641 users browsing the articles directory
|
|