Los programas son sistemas de piezas que interactúan.
Para que un sistema de piezas interactuantes funcione conjuntamente, se requieren conexiones entre estas partes.
Cuantas más conexiones, más costoso es el programa.
Para un número fijo de piezas, un sistema cuyas piezas se conectan innecesariamente es más costoso que un sistema cuyas partes están necesariamente conectadas.
Las conexiones innecesarias solo se pueden formar en un sistema cuyas piezas están innecesariamente expuestas a las conexiones de otras partes.
Minimizar la exposición innecesaria de piezas a la conexión de otras partes es fundamental para el desarrollo de programas rentables.
El acoplamiento flojo y el ocultamiento de información son los fundamentos de la minimización de exposición de conexión.
Esto no es un conocimiento opcional para un programador.
Esto es fundamental.
No puede ser un programador consciente de los costos sin este conocimiento.
Preguntar cómo explicar el acoplamiento flojo y el ocultamiento de información a un nuevo programador es como preguntar cómo explicar la cirugía a un nuevo cirujano. ¿O para explicar la arquitectura a un nuevo arquitecto? O cómo explicar volar a un piloto.
Si su 'Nuevos programadores' no conoce el acoplamiento libre y la ocultación de información, entonces no lo son, 'Nuevos programadores'; ellos son potenciales programadores.
Curiosamente, probablemente no ayude decirles que lean los dos documentos originales: i) Acoplamiento flojo: 'Diseño estructurado', por W.P. Stevens, G.J. Myers y L.L. Constantine. ii) Ocultamiento de información: http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf
En mi experiencia, el mal uso de las analogías es la razón número 1 por la cual muchas personas no obtienen la herencia. Tenga mucho cuidado de que las analogías que use sean buenas. –
no lo entiendo .. –
La imagen se ha ido. – Shoe