¿Cómo realizar un framework para Java?

Iniciado por Tlecoatl, 28 Enero 2011, 17:21 PM

0 Miembros y 1 Visitante están viendo este tema.

Tlecoatl

Buen día....

Tengo una duda respecto a la realización de frameworks para Java; me gustaría poder realizar un framework básico para persistencia de datos, algo parecido a Hibernate.

Pero encontré poca información al respecto y me gustaría poder realizarlo.

Si alguno de ustedes me podría dar un poco de luz al respecto seria de gran ayuda.

Muchas Gracias por su pronta respuesta :)

sapito169

Me parece gracioso que la gente con mucha experiencia y un montón de conocimiento solo se enfoque en su trabajo y realizar sistemas de gestión y resolver sus problemas puntuales mientras que los que recién aprenden quieren realizar compiladores frameworks sistemas operativos lenguajes ellos saben lo difícil que es lograr crear algo que sirva y no tienen tiempo para estar creando juguetes por que ellos tienen trabajo de verdad

Hay varios puntos a tratar el primero es que el proceso sería tan largo lento difícil y tedioso que es muy probable que lo dejes antes de acabar algo
Si logras hacer algo de verdad tienen que querer mucho al arte para comenzar

Ya existe un montón de posibilidades y te lo digo por experiencia ya deje de reinventar la rueda por que cuando finalmente logro crear la rueda me sale cuadrada y nunca llegó a usarla debido a que la opción existente es 1000 veces mejor

Si a pesar de todo logras hacer algo que más o menos sirva y quieres que lo use todo el mundo te veras obligado a olvidarte del español y hacer el proyecto libre para que te pueden ayudar porque tu sola colaboración sería demasiado poca

Si después de desanimarte quieres seguir haciendo el framework tienes que tener en cuenta que solo lo haces para ti y con la única finalidad de aprender a menos de que sea algo que no existe y te demores varios años con la ayuda de mucha gente

sapito169

Para que no digan que mucho habla pero no explica esta es la idea básica de unos pojos creas dinámicamente las sentencias sql es decir que si creas la clase producto (new Producto("p001","libro de java",14)) debes crear "insert into producto producto 'p001' , 'libro java',14" claro que las cosas se ponen horribles si le pones herencia y los detalles

Lo único que tienes que hacer es usar todo lo que te enseñaron poo sistemas etc si ya sabes esos puntos entonces ya sabes cómo crear cosas

Bueno explicare lo que en mi opinión lo que creo que necesitas para crear un framework sin antes repetirte que yo he tratado de reinventar la rueda pero nunca llegue usarla porque sale cuadrada y preferí usar otra opción

Tienes que saber cómo crear clases interfases clases abstractact poliformismo etc
Tienes que ser meticuloso y ordenado saber cómo escribir código para que sea fácil de leer y entender y mantener
Tienes que conocer sql la versión antigua la que es compatible con todos los motores de base de datos
Tienes que conocer patrones de diseño
Tienes que conocer pruebas unitarias

A qui algunas recomendaciones para comenzar el flame

-no uses la palabra reservada static especialmente para las variables publicas globales no uses singletones eso hace imposible de entender y modificar
-diseña para que tu framework sea testeable estoy harto todas las aplicaciones que conozco son imposibles de testear lo cual es sinónimo de que están muy mal echas
-no uses xml usa configuración por defecto y anotaciones
No existe nada peor que el xml lo usan hasta en la sopa y lo usan especialmente cuando no sirve para nada para mí el xml solo debería usarse cuando no se puede usar la configuración por defecto y cuando es totalmente necesario para no recompilar la aplicación
para que lidiar con xml si ya tenemos guice y spring
-crea todo lo mas inmutable y encapsulado posible
-olvídate de los dibujitos y papelitos los hombres que se respetan saben cuando algo está bien mientras lo sienten como saber que algo es difícil de usar o entender pues probándolo no imaginándoselo com uml

links explicándote todo de manera amplia después de leerlo lo más probable es que te desanimes y te sientas obnubilado por tanta información


testeabilidad el gran olvidado http://misko.hevery.com/code-reviewers-guide/
diseño http://www.youtube.com/watch?v=aAb7hSCtvGw http://www.youtube.com/watch?v=ZOwHiGCzZjo
http://www.newt.com/java/effective-java-reloaded.pdf
mantenibiliad
http://carlospeix.com/
aparte de leer los libros de los autores

Tlecoatl

Te agradezco muchismo la contestacion, y si lo quiero hacer por el simple hecho de aprender, al igual que cuando hacemos compiladores en la universidad. Solo por el merito de saber como se hacen las cosas :)

Muchisimas Gracias Sapito :)

kasiko

Cita de: Tlecoatl en 29 Enero 2011, 01:13 AM
Te agradezco muchismo la contestacion, y si lo quiero hacer por el simple hecho de aprender, al igual que cuando hacemos compiladores en la universidad. Solo por el merito de saber como se hacen las cosas :)

Muchisimas Gracias Sapito :)

mucha suerte con tu proyecto !!  :rolleyes:
Nos vemos...