High cohesion and low coupling in software design

Por Raúl Alzate

Cuando hablamos de diseño de software, debemos obtener una alta cohesión y un bajo acoplamiento en cada componente y utilidad de nuestra aplicación, ambos conceptos entendidos de la siguiente manera:

La cohesión es la medida en la que un componente o clase realiza únicamente la tarea para la cual fue diseñada (Una clase debe de hacer lo que respecta a su entidad, y no hacer acciones que involucren a otra clase o entidad).

En este contexto, hablamos de cohesión alta cuando la relación es unívoca entre si. Por el contrario, hablamos de una cohesión baja cuando existe relación con otros componentes de otro tipo de naturaleza.

El acoplamiento es la medida que un componente o clase dependen de otro, generando cambios externos o alterando la funcionalidad del mismo (Cuando modificamos los atributos de una clase, se tienen que modificar los atributos de otra clase.)

Así, hablamos de acoplamiento bajo cuando existe una independencia entre los componentes entre si, por le contrario un alto acoplamiento es cuando tenemos varias dependencias relacionadas a un solo componente.

Con lo anterior sobre la mesa, podemos afirmar que en la definición de un buen diseño de software se debe tener una ALTA COHESIÓN y un BAJO ACOPLAMIENTO.

Referencias:

http://blog.koalite.com/2015/02/cohesion-y-acoplamiento/
http://blog.juliopari.com/alta-cohesion-y-bajo-acoplamiento-diseno-de-software/

Share

Share on facebook
Share on twitter
Share on linkedin

Related Posts

¿Quieres recibir más información sobre tendencias en desarrollo de software, DevOps, innovación o productividad?

Últimas entradas