Orix

Persistencia de objetos motítimos con múltiples modelos con múltiples herencias
Descargar ahora

Orix Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Richard Hundt
  • Sitio web del editor:
  • http://search.cpan.org/~rhundt/

Orix Etiquetas


Orix Descripción

Persistencia de objetos impulsados en meta modelo con múltiples herencias OryX es un marco de persistencia de objetos que admite tanto la asignación de objetos relacionales como las bases de datos de estilo DMB y, como tal, no se acopla con ningún back-end de almacenamiento en particular. En otras palabras, debe poder intercambiar un RDMBS con una base de datos de estilo DBM (y viceversa) sin cambiar sus clases persistentes en absoluto. Esto se logra con el uso de un modelo META que encaja tan de cerca con PERL posee lo posible. - Y debido a las excelentes capacidades de introspección de Perl y la enorme flexibilidad, esto es muy cercano. Por este motivo, los tipos de asociación de matrices y de referencia se implementan con el uso liberal de "víncas". El uso de un modelo meta, aunque es muy transparente, apoya conceptualmente el desmontaje de back-end de almacenamiento de las clases persistentes, y, en su mayor parte, al lado de una gran cantidad de meta-datos, usaría clases persistentes De una manera que sea virtualmente indistinguible de las clases de PERL ordinarias. Sigue el principio seco: no te repitaste, inspirado en el fantástico marco de rubíes en los rieles, por lo que dice lo que dices, lo dices, solo una vez al definir su esquema de $ para Tu clase. Después de eso, todo lo cuida para usted, incluida la creación automática de tablas (si está utilizando un almacenamiento RDBMS). Oryx intenta nombrar las tablas y las tablas de enlace creadas de esta manera, de modo que, si lo necesitas, debería poder encontrar su camino en el esquema con facilidad. Porque Oryx implemente las relaciones como la matriz de PERL y las referencias de hash, puede crear Cualquier estructura u relación de objetos que pueda crear en PERL nativa y hacer que estos persistan en una base de datos. Esto le brinda la flexibilidad para crear árboles, estructuras cíclicas, listas vinculadas, listas mixtas (listas con instancias de clases diferentes), etc. También admite múltiples herencias por el mecanismo de base de uso nativo de PERL. Las clases abstractas, que son simplemente clases sin atributos, también son significativas. HSYNOPSIS # Defina un paquete de clase persistente CMS :: Página; Use la base QW (OryX :: Clase); Nuestros $ Schema = {attributes => , asociaciones => }; 1; # ... Para más detalles, consulte la definición de la clase Meta-Data en L) # ================================= ========================================== # Use una clase persistente Use CMS: :Página; $ Página = CMS :: PAGE-> Crear ({title => 'Life in the Metaverse'}); $ Página = CMS :: PAGE-> Recuperar ($ ID); $ Página-> Actualización; $ Página-> Eliminar; @Pages = CMS :: Página-> Buscar ({Author => 'Richard Hun%'}, @order, $ límite, $ offset); # Buscar con SQL donde la cláusula (que las páginas contienen un párrafo en particular): @book = cms :: Página-> Buscar ({existe => q {(seleccione ID de la página donde página.id = Author.ID y página.title like 'Meta%')}}); # ================================================= ========================== # Confite sus cambios $ Página-> Commit; # ================================================= ========================== # Attribute Mutator $ Página-> Título ('el mecánico metámico'); $ tite = $ Página-> Título; # ================================================= ========================== # Mutator de asociación de referencia $ Template_obj = $ Página-> Plantilla; $ Página-> Plantilla ($ Template_OBJ); # ================================================= ========================== # ACCESORIO DE ASOCIACIÓN ARRAY $ Página-> PÁRRAFOS -> = $ INTRO_PARA; $ párrafo = $ Página-> Párrafos -> ; # ================================================= ========================== # Operadores de la Asociación de Array $ Conclusión = Pop @ {$ Página-> Párrafos}; $ intro = Shift @ {$ Página-> Párrafos}; Push @ {$ Página-> Párrafos}, $ Conclige; UNSHIPT @ {$ PAGE-> Párrafos}, $ New_intro; empalme @ {$ Página-> Párrafos}, 1, 4, ($ resumen); # ================================================= ========================== # ACCESORIO DE ASOCIACIÓN HASTH $ image_OBJ = $ Página-> Imágenes -> {logo}; $ Página-> Imágenes -> {mug_shot} = $ my_ugly_mug; @Keys = Teclas% {$ Página-> Imágenes}; @values ​​= valores% {$ Página-> Imágenes}; # ================================================= ========================== # Soporte para clase :: Página observable-> ADD_OBSERVER (SUB {MY ($ Artículo, $ acción) = @ _; # ...}); $ Página-> ADD_OBSERVER (...); # instancia # =============================================== ============================ # Conecte a Storage $ Storage = oryx-> Conectar (); # o especifique un Schema $ Storage = oryx-> connect (, 'cms :: esquema'); # para DBM :: Back-Fin Deep Oryx-> Conectar (, 'cms :: esquema'); # ================================================= ========================== # Implementar el Schema $ Storage-> DeploySchema (); # para todas las clases conocidas (a través de 'Uso') $ Storage-> DeploySchema ('cms :: esquema'); $ Storage-> DeployLass ('cms :: Página'); # implementar automáticamente según sea necesario usar oryx (auto_deploy => 1); # para todas las clases CMS :: PAGE-> AUTO_DEPLOY (1); # solo para estos requisitos de clase: · Perl


Orix Software relacionado

Gftracks

Perl extensión para la manipulación de Gramofiles. Archivos de extracción ...

164

Descargar