Invariantes de clase
Es posible romper la invariabilidad de la clase entre llamadas a métodos privados, pero no es aconsejable.Dado que los métodos respetan las invariantes, pueden asumir su validez y no necesitan verificarlas explícitamente.Por ello, los lenguajes que proporcionan un soporte completo al diseño por contrato, como Ada, Eiffel o D (lenguaje de programación), también proporcionan un soporte completo a las invariantes de clase.Java dispone de una herramienta más potente llamada Java Modeling Language que ofrece un método más robusto para definir invariantes de clase.Los métodos deben definir precondiciones y postcondiciones para ayudar a cumplir la invariabilidad de la clase.