Ur :: objeto.

transacional, questionável, entidades independentes de processo
Baixe Agora

Ur :: objeto. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Anthony Brummett
  • Site do editor:
  • http://search.cpan.org/~brummett/

Ur :: objeto. Tag


Ur :: objeto. Descrição

Entidades Transacionais, Queryable, Independentes de Processos UR :: Objetos são legais, transacionais, representações de entidades, construídas para manter a separação entre a referência física em um programa e a entidade lógica que a referência representa, usando uma interface bem definida.UR usa essa separação para manipular automaticamente E / S . Ele fornece uma API de consulta e gerencia a diferença entre o estado de entidades na aplicação e seu estado em sistemas de persistência externa. Visa fazê-lo transparentemente, mantendo a lógica ortogonalmente para "lógica empresarial", e esperamos que o código em torno de E / S desnecessário para escrever para a maioria dos programas.Muito do que construir explicitamente e serializando / desserializando objetos, a camada de aplicação apenas solicita objetos do atual "contexto", de acordo com suas características. O contexto gerencia conexões de banco de dados, alterações do estado de objeto, referências, relacionamentos, transações em memória, consultas e cache de maneiras sintonizáveis.Acessores fabricam dinamicamente referências preguiçosamente, conforme necessário através da mesma API de consulta, portanto, os objetos funcionam como o desenvolvedor tradicionalmente esperaria a maioria dos casos. O objetivo do UR :: Object é que seu aplicativo não precisa fazer o gerenciamento de dados. Basta pedir o que você quer, usá-lo e deixá-lo go.ur :: Objetos suportam reflexão total e meta-programação. Sua camada de meta-objeto é totalmente auto-bootstrapping (a maioria das classes da qual UR é composta são mesmas :: Objetos), portanto, os dados da classe podem introspecionarem-se, como até mesmo as classes podem ser criadas dentro de transações e descartados por um novo objeto. No contexto atual, e devolvê-lo: $ Elmo = Acme :: Puppet-> Criar (nome => 'Elmo', pai => $ Ernie, mãe => $ bigbird, jobs => , favorito_color => 'vermelho',); Acessores simples funcionam na moda típica: $ cor = $ elmo-> favorito_color (); mudanças ocorrem em uma transação no contexto atual: $ elmo-> favorito_color ('azul'); não propriedades -scalar (has_many) têm uma variedade de acessores: @Jobs = $ elmo-> empregos (); $ jobs = $ elmo-> job_arrayref (); $ set = $ elmo-> job_set (); $ iter = $ elmo-> job_iterator (); $ job = $ elmo-> add_job ($ ronco); $ sucesso = $ elmo-> remove_job ($ cantar); consultar o contexto atual para encontrar objetos: $ existedor_obj = acme :: fantoche-> obter (nome => 'elmo'); # mesma referência como $ existente_obj @existing_objs = acme :: fantect-> get (favorito_color => ,); # Isso não obterá Elmo porque sua cor favorita é agora azul @existing_objs = acme :: fantoche-> get (Job => $ ronco); # Isso retornará $ Elmo junto com outros fantoches que ronca, # embora ainda não tenhamos salvado a mudança ainda ..Subra nossas alterações: ur :: Contexto-> Corrent-> Commitir; Muitos fantoches ...: $ elmo- > Excluir; $ elmo-> brincar; # Isso lançará uma exceção agora $ Elmo = Acme :: fantoche-> obter (nome => 'elmo'); # Isso não retorna nada agora mesmo brincando: ur :: Contexto-> Corrent-> Rollback; # Não é uma reversão de banco de dados, um impareall em memória está bem: $ elmo = Acme :: fantoche-> obter (nome => 'elmo'); # de volta! Requisitos: · Perl.


Ur :: objeto. Software Relacionado