User Tools

Site Tools


wiki:pd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wiki:pd [2024/08/28 23:49] adminwiki:pd [2024/08/28 23:54] (current) admin
Line 40: Line 40:
 Se suele decir que el Principio de Demeter recomienda que los métodos de una clase solo deben hablar con sus "amigos", es decir, con métodos de la propia clase o con métodos de objetos que reciben como parámetro o que crean. Por otro lado, no es recomendable hablar con los amigos de los amigos. Se suele decir que el Principio de Demeter recomienda que los métodos de una clase solo deben hablar con sus "amigos", es decir, con métodos de la propia clase o con métodos de objetos que reciben como parámetro o que crean. Por otro lado, no es recomendable hablar con los amigos de los amigos.
  
-Un ejemplo — formulado por David Bock ([[https://www2.ccs.neu.edu/research/demeter/demeter-method/LawOfDemeter/paper-boy/demeter.pdf|enlace]]) — ilustra con claridad los beneficios del Principio de Demeter. El ejemplo se basa en un escenario con tres objetos: un repartidor de periódicos, un cliente y su cartera. Se produce una violación del Principio de Demeter si, para recibir el importe de un periódico, el repartidor tiene que ejecutar el siguiente código:+Un ejemplo — formulado por David Bock ([[https://www2.ccs.neu.edu/research/demeter/demeter-method/LawOfDemeter/paper-boy/demeter.pdf|enlace]]) — ilustra con claridad los beneficios del Principio de Demeter. El ejemplo se basa en un escenario con tres objetos: un repartidor de periódicos, un cliente y su billetera. Se produce una violación del Principio de Demeter si, para recibir el importe de un periódico, el repartidor tiene que ejecutar el siguiente código:
  
 <code java> <code java>
Line 65: Line 65:
  
  
-En el nuevo código, el cliente no permite el acceso a su cartera. Por el contrario, el repartidor ni siquiera se entera de que el cliente tiene una cartera. Esa información está encapsulada en la clase Cliente. En lugar de eso, el cliente ofrece un método `pagar`, que debe ser llamado por el repartidor. Finalmente, una excepción indica cuando el Cliente no tiene suficientes recursos para pagar el periódico.+En el nuevo código, el cliente no permite el acceso a su billetera. Por el contrario, el repartidor ni siquiera se entera de que el cliente tiene una billetera. Esa información está encapsulada en la clase ''Cliente''. En lugar de eso, el cliente ofrece un método ''pagar'', que debe ser llamado por el repartidor. Finalmente, una excepción indica cuando el Cliente no tiene suficientes recursos para pagar el periódico.
wiki/pd.1724903355.txt.gz · Last modified: 2024/08/28 23:49 by admin