Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2016, 04:56
idkase
 
Fecha de Ingreso: octubre-2012
Mensajes: 7
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Java y menús dinámicos

Hola a todos, estoy realizando una práctica para la universidad y necesito un poco de ayuda de cara a afrontar un problema. Para poneros en situación, tenemos que realizar una práctica en la que tenemos que desarrollar un sistema integrado de gestión de bibliotecas.

En un punto de la práctica nos piden realizar una búsqueda flexible sobre los elementos del inventario de la biblioteca. En este inventario se encuentran cinco tipos diferentes de objetos (Libro, Revista, Periódico, Audio y Video) todas ellas tienen sus propios campos más otros heredados de la clase padre Material.

Ahora, la interacción tiene que ser mediante consola por lo que tendría que :

1 - Preguntar al usuario qué objeto quiere buscar ( Ej : Libro, Revista... )

2 - En función del objeto que haya introducido mostrar un menú dentro de un bucle while con cada uno de los campos de esa clase para que elija por cuáles quiere filtrar.

3 - Realizar un switch en el cual recoja cada elección y recopile el valor que quiere introducir a cada campo.

4 - Llamar finalmente a un método de búsqueda el cual me diga si existe o no ese material en función de los campos que haya introducido ( este método ya lo tengo implementado )

5 - Repetir los tres primeros pasos cinco veces, un menú por material y un switch por cada menú

Mi pregunta es : ¿existe alguna forma de hacer esto dinámicamente y de manera eficaz, evitándome tener que crear cinco switchs y cinco menús diferentes para cada tipo de material?

He pensado en usar Reflection de manera que puedo generar dinámicamente el menú con el método getDeclaredFields + obtener los campos de la super clase y recorriendo ese array, pero después de leer sobre Reflection y su eficacia y velocidad igual es mejor opción incluso crear los cinco menús con cinco switchs.

También he pensado en implementar mi propio Switch, siguiendo algunos ejemplos de Internet, de forma que sea dinámico y se adapte al número de items que tenga el menú ( Ya que cada menú de cada tipo de material tendrá más o menos campos por lo que más o menos opciones )

Espero haberme explicado , no pongo código porque es un problema más de concepto. La pregunta es : ¿Alguien puede iluminarme con una forma óptima en la que a la vez que me ahorro duplicar código gane eficacia?