En el diseño de software, nos estamos refiriendo a las clases y componentes que uilizará nuestra aplicación siempre debemos de buscar una alta cohesión y un bajo acoplamiento.
- Cohesión: La cohesión es la medida en la que un componente se dedica a realizar solo la tarea para la cual fue creado, delegando las tareas complementarias a otros componentes. (Una clase debe de hacer lo que respecta a su entidad, y no hacer acciones que involucren a otra clase ó entidad).
- Acoplamiento: El acoplamiento es la medida en que los cambios de un componente tiende a necesitar cambios de otro componente. (Cuando modificamos los atributos de una clase, se tienen que modificar los atributos de otra clase.)
De ahi que debemos de buscar siempre una ALTA COHESIÓN y BAJO ACOPLAMIENTO.