Historias
Slashboxes
Comentarios
 

Login Barrapunto

Login

[ Crear nueva cuenta ]

mig21 (7781)

mig21
  reversethis-{moc.liamg} {ta} {pb12gim}
https://twitter.com/yapw

Hola, soy Miguel. Algo que pueda ser relevante aquí... Uhmm... Me gusta escribir en mi bitácora de BP [barrapunto.com] y en su clon en blogspot: Yet Another Programming Weblog [blogspot.com]
Me gustaría que Barrapunto fuese un sitio con más discusiones técnicas y trato de hacer lo que está en mi mano. De todos modos, también me gusta leer flames ;)

No creo que te interese, pero en Lecturas aleatorias [blogspot.com] dejo registro de los libros que voy leyendo...

Esta es toda mi información de usuario :)

Down Kill Up Publicidad

Bitácora de mig21 (7781)

Miércoles, 22 de Febrero 2006

Accesores, diseño orientado a objetos y la ley de Demeter

04:57h.
Tecnología

Acabo de leer una muy interesante entrada en el bliki de Martin Fowler (GetterEradicator) acerca de un tema muy controvertido: los accesores en programación orientada a objetos. La encapsulación, la ocultación de información, el diseño orientado al cambio, todo esto influye en la decisión de no usar get y set para todos los datos de una clase.

Tiene enlaces muy sabrosos a artículos que han ido hablando del tema, pero me gustaría destacar uno, Tell, Don't Ask en el que se habla de la "Ley de Deméter": Habla sólo con tus amigos inmediatos. Traduciendo el enunciado formal

Un método M de un objeto O solo debería invocar métodos:
  • suyos
  • de sus parámetros
  • objetos que cree o instancie
  • objetos miembros de la clase (atributos)
Así se consigue que la dependencia de la estructura entre las clases no vaya arrastrando más de un nivel. Eso si, provoca algún nivel de indirección más. Y como sabemos (Actualización:Ya decía yo que la cita la había leído hace poco... y era en Esos aparatos del demonio)

No hay ningún problema de computación que no se pueda solucionar con un nivel más de indirección (salvo si el problema es que existen demasiados niveles de indirección...)

Y claro, siempre teniendo en cuenta que toda ley o directriz de diseño debería ser eso una directriz. Siempre hay excepciones a estas reglas. El arte es saber cuando saltárselas :)

Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.