Tech and Solve

Alta cohesión y bajo acoplamiento en diseño de software

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/