Hola a todos, solamente tengo esta duda,
Que es mejor
usar una clase generica mas corto para diferentes cosas y desperdiciar variables, o usar muchas clases pero sin desperdiciar tantas variables.
Saludos
Lophophora
| |||
Re: Desperdicio de Variables ¿Desperdiciar variables?
__________________ Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana. |
| ||||
Re: Desperdicio de Variables Si, si no me explique aqui les pongo un caso. necesito 3 listas que hacen lo mismo pero necesitan diferentes datos. si hago una clase generica y la instancio 3 veces por ejemplo una lista ligada se llama lista() entonces hago lista Lista1 = new lista(); lista Lista2 = new lista(); lista Lista3 = new lista(); Y digamos que lista() tiene un nodo() con 5 strings y 5 doubles para la Lista1() necesito un double y un string (desperdicio 4 strings y 4 doybles) para la Lista2() necesito un solo string (desperdicio 4 string y 5 doubles) para la Lista3() necesito 5 doubles y 5 strings (no desperdicio nada) si hago la Lista1() de tamaño muy grande, digamos 1000, desperdiciaria 4000 strings y 4000 doubles. entonces mi pregunta es si combiene o si en terminos de rendimiento es mejor hacer 3 clases diferentes para cada lista y no desperdiciar tantas variables pero haciendo el codigo mucho mas grande, osea Lista1 Lista1 = new Lista1(); con un nodo() con 1 string y 1 double Lista2 Lista1 = new Lista2(); con un nodo() con 1 sting Lista3 Lista1 = new Lista3(); con un nodo () con 5 strings y 5 doubles Espero haber sido mas claro Muchas Gracias Lophophora
__________________ P.L.U.R. |
| |||
Re: Desperdicio de Variables Bueno, los ejemplos no tienen mucho sentido pero creo que entiendo a que te refieres . Esa es la pregunta del millon de dolares y, por supuesto, no tiene respuesta. Como en todo, depende. Ni es bueno generar millones de clases distintas por que una tiene un int de mas y otra no, ni es bueno hacer una sola clase con todas las opciones posibles. El unico principio aplicable de forma general es el sentido comun y en mi caso, yo lo que intento es hacer algo que sea "humanamente comprensible". De todas formas, no es algo muy habitual eso de tener tantas cosas opcionales que no se usan... si eso abunda es que el diseño no está muy allá.
__________________ Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana. |
| ||||
Re: Desperdicio de Variables Buenas. No sé si he entendido muy bien tu problema pero yo haría una sola clase de tipo de lista. En todo caso tu duda se transladaría a los objetos nodo, que ya habría que ver si queires hacer una sola clase para Nodo con 5 strings y 5 ints y usarla sin darles valores a los atributos que no te hicieran falta o tres clases diferentes. Como ya han dicho, depende, pero yo te voy a sugerir una tercera opción: herencia. Puedes crear una clase Nodo que tenga sólo un int, otra que herede de esta y añada un string y, por último, otra que herede de esta y añada 4 string y 4 int. Y por ser tú, te voy a dar otra solución más óptima todavía. Crea una clase Nodo con dos atributos de tipo Collection, elige la clase que más te guste, ArrayList o Set o lo que quieras, pero que sea Collection. Así puedes añadir cuantos string o int quieras sin necesidad de desperdiciar atributos. Sería recomendable en este caso controlar también el tamaño de las colecciones con dos atributos int, para mayor claridad. Y ahí lo tienes una sola clase que te vale para todos tus ejemplos. Espero haberte ayudado. Hasta pronto. |