¿Cómo construirías un marco ORM?

Construí un ORM: JavaLite – activejdbc. Me inspiré en Ruby on Rails ActiveRecord. No hay muchas opciones en Java para ORM, donde Hibernate gobierna. Hibernate es complejo y difícil de manejar. Las razones por las que lo construí:

  1. Realmente quería tener un ORM simple, potente y rápido para usar
  2. Los desarrolladores de Ruby me desafiaron diciendo “no se puede hacer esto en Java”
  3. Necesitaba un marco que tenía el control para agregar nuevas funciones a medida que son impulsadas por proyectos
  4. Quería contribuir a OSS.

En cuanto a “cómo”: construí un prototipo simple en 2 meses de mi tiempo libre, y luego obtuve un nuevo proyecto donde convencí a las empresas de confiarme este nuevo ORM en su proyecto comercial. A medida que avanzaba el proyecto, trabajé dos veces para mover el proyecto y ActiveJDBC hacia adelante. En aproximadamente 6 meses, tuve dos productos decentes: un proyecto comercial bien construido y una nueva biblioteca Java que ya tenía una aplicación comercial. Después de eso, me mudé a construir JavaLite – activeweb, que es un marco de Java similar a Ruby on Rails.

Usaría algunos patrones de diseño en diferentes etapas de la biblioteca. Inmediatamente me viene a la mente el patrón de fábrica, así como algunos que he visto usar. Patrón de comando, patrón de adaptador … Le recomiendo que siga con el marco laravel y vea cuántos patrones puede encontrar en el orm allí.

Yo no lo haría Tenemos algunas buenas opciones ahora construidas. ¿Por qué reinventar la rueda?

Para PHP, uso RedBeans ORM.