Java, Spring

Conceptos básicos de Java & Spring Framework – Cohesión, Acoplamiento, POJO

Antes de entrar de lleno al tema de Spring me gustaría abordar algunos temas previos que considero necesario dominar para empezar a aprender esta herramienta de desarrollo (Spring framework). Quizas pienses que es aburrido o son largas las explicaciones pero te aseguro que aprender esto en el futuro te dará muchas satisfacciones (sobre todo económicas) y dominaras más fácilmente los temas posteriores. Además, nunca dije que programar de manera profesional fuera súper fácil ¿o si?.

Sobre la cohesión y el Acoplamiento

Entre las características de Spring mencionadas anteriormente mencione estos dos términos, que considero especialmente importantes, a continuación una breve explicación:

Cohesión
En ingeniería de software la cohesión se refiere al nivel de fortaleza y unidad con la que diferentes componentes de un programa están interrelacionados entre ellos. Ha permanecido como una norma en esta ingeniería que para una buena programación o un buen diseño es que la cohesión debe ser alta. Es decir, mientras más cohesionados estén los elementos agrupados, mejor. Por ejemplo, en la POO cohesión es enfocar de la forma más precisa el propósito de una clase, delegando las tareas complementarias a otros componentes, cuanto mayor enfoquemos el propósito de una clase, mayor será su cohesión.

Acoplamiento
El acoplamiento mide el grado de relacionamiento de un módulo con los demás. A menor acoplamiento, mejor: el módulo en cuestión será más sencillo de diseñar, programar, probar y mantener. En la POO, una clase tendrá bajo acoplamiento cuando tenga la menor dependencia posible de otras clases. Una acoplamiento alto significa que las clases relacionadas necesitan saber detalles internos unos de otros (dependen entre sí), cuando el sistema crece y los cambios se propagan, el sistema es posiblemente más difícil de entender y mantener.

¿Qué es un POJO?

Nuevamente tomando la definición de la Wikipedia; Un POJO (acrónimo de Plain Old Java Object), es una nueva palabra para designar algo viejo, tan viejo como una tarjeta perforada. En java un objeto POJO es una instancia de una clase que no extiende ni implementa nada en especial. Es decir, es una clase con sus atributos privados y sus correspondientes getters y setters públicos. Un setter es un método que establece el valor de un atributo, mientras que un getter es un método que devuelve su valor. Con algunos ejemplos quedara claro esto:

Usuario.java

Observa como todos los atributos de la clase anterior son privados y los setters y getters son públicos, además, la clase no extiende ni implementa a ninguna otra clase. A este tipo de clases se les conoce como POJOs. Algunos ejemplos más:

Producto.java

Tarjeta.java

Los POJOs también pueden documentarse con JavaDoc como se observa en el último ejemplo (Tarjeta.java), esta práctica es sumamente recomendable porque luego entre tantas clases se olvida para que sirve cada atributo. Un método que recomiendo sobrescribir es toString() para saber qué datos tiene encapsulados el POJO en un determinado momento. Recordemos que por defecto en java todos los objetos tienen el método toString().

Por si te interesa tener los códigos fuente expuestos anteriormente, he subido el proyecto de Netbeans en un repositorio de GitHub aqui. En la próxima entrega hablare sobre las interfaces en java, explicare que son, con algunos ejemplos mostrare como declararlas y como usarlas. Te invito a que me dejes un comentario si te gusto el POST.

Hasta la pronto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *