La conocida como Ley de Demeter o del buen estilo, nos garantiza, durante un desarrollo orientado a objetos una buena escalabilidad, depuración de errores y mantenimiento, ya que ayuda a maximizar la encapsulación. Esto ayuda a mantener un nivel bajo de acoplamiento. Es una norma muy simple de seguir.
Esta ley fue enunciada por el equipo involucrado en el proyecto Demeter, en 1988: Karl Lieberherr, Ian Holland y Arthur Riel. Demeter era un sistema experimental orientado a objetos. Esta "Ley" ha sido popularizada después de su publicación original por otros autores, como Booch, Rumbaugh, etc... A menudo, el contenido de la ley se abrevia sólo con una frase: Habla sólo con tus amigos
Detallando un poco más, quiere decir que para un método m de una clase o sólo deberían invocarse métodos de estos tipos de objetos: -del propio objeto o -de los parámetros que recibe el propio método m -de cualquier objeto que instancie el propio método m -de cualquier atributo de o Esto hace que para la programación de cada método, sólo sea necesario un conocimiento del entorno inmediato del método. Si para el funcionamiento del sistema fuera necesario invocar un método más lejano, no se hará directamente, sino que cada método invoca a otro de su entorno cercano hasta llegar al que debe invocarse en último extremo. Aunque a priori ésto pudiera parecer poco eficiente, en realidad no lo es. Al seguir rígidamente esta ley, conseguimos un acoplamiento bastante menor, lo cual siempre redunda en una simplicidad de los métodos y una mejor adaptabilidad a nuevas situaciones. Puedes leer el texto original del enunciado de la ley de Demeter aquí . (en inglés) |