Ur :: Object

Transactionele, queryable, procesonafhankelijke entiteiten
Download nu

Ur :: Object Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Anthony Brummett
  • Uitgever website:
  • http://search.cpan.org/~brummett/

Ur :: Object Tags


Ur :: Object Beschrijving

Transactionele, queryable, procesonafhankelijke entiteiten UR :: Objecten zijn queryable, transactionele, representaties van entiteiten, gebouwd om de scheiding tussen de fysieke referentie in een programma te handhaven, en de logische entiteit De referentie vertegenwoordigt, met behulp van een goed gedefinieerde interface.ur gebruikt die scheiding om automatisch i / o te hanteren . Het biedt een query-API en beheert het verschil tussen de staat van entiteiten in de toepassing en hun staat in externe persistance-systemen. Het heeft tot doel zo transparant te doen, de I / O Logic Orthogonally te houden aan "Business Logic" en hopelijk het maken van code rond I / O onnodig om te schrijven voor de meeste programma's.Rather dan expliciet bouwen en serialiseren van objecten, de toepassingslaag, de toepassing Verzoekt objecten uit de huidige "context", afhankelijk van hun kenmerken. De context beheert databaseverbindingen, objects-statusveranderingen, referenties, relaties, in-geheugentransacties, vragen en caching in tunable Wayable Ways.Accessors fabriceren dynamisch referenties Lui, indien nodig via dezelfde query-API, dus objecten werken aangezien de ontwikkelaar inderdaad meeste gevallen. Het doel van UR :: Object is dat uw toepassing geen gegevensbeheer hoeft te doen. Vraag gewoon om wat je wilt, gebruik het en laat het Go.ur :: Objecten ondersteunen volledige reflectie en meta-programmering. De meta-objectlaag is volledig zelfbootstrapping (de meeste klassen waarvan ur is gecomponeerd, zijn zelf: objecten), dus de klasse-gegevens kunnen zich introspecteren, zodanig dat zelfs klassen kunnen worden gecreëerd binnen transacties en verwijderd. Synopsiscreëerde een nieuw object In de huidige context, en retourneer het: $ ELMO = ACME :: Puppet-> Create (naam => 'elmo', vader => $ ernie, moeder => $ bigbird, banen => , favorite_color => 'rood',); duidelijke accessors werken in de typische mode: $ color = $ elmo-> favorite_color (); veranderingen komen voor in een transactie in de huidige context: $ elmo-> favoriet_color ('blauw'); niet -Scalar (Has_many) eigenschappen hebben een verscheidenheid aan accessors: @jobs = $ ello-> banen (); $ Jobs = $ Elmo-> Job_arrayref (); $ SET = $ ELMO-> JOB_SET (); $ iter = $ ello-> job_iterator (); $ Job = $ ELMO-> ADD_JOB ($ SNORE); $ succes = $ ello-> verwijderen_job ($ zing); vraag de huidige context om objecten te vinden: $ exase_obj = ACME :: Puppet-> Krijg (naam => 'Elmo'); # dezelfde referentie als $ exase_obj @existing_objs = ACME :: Puppet-> Get (Favoriet_Color => ,); # Dit krijgt geen Elmo omdat zijn favoriete kleur nu blauw is @Existing_objs = ACME :: Puppet-> Get (Job => $ SNORE); # Dit zal $ Elmo terugkeren, samen met andere poppen die Snurken, # hoewel we de wijziging nog niet hebben gered ..Beweldige wijzigingen: UR :: Context-> Huidig-> Commit; te veel poppen ...: $ Elmo- > Verwijderen; $ elmo-> spelen; # Dit gooit een uitzondering nu $ elmo = ACME :: pupet-> krijgen (naam => 'elmo'); # Dit retourneert niets nowjust-grapje: UR :: Context-> Huidig-> Rollback; # Geen database-rollback, een in-geheugen ongedaan maken is goed: $ Elmo = ACME :: Puppet-> Get (naam => 'Elmo'); # weer terug! Vereisten: · Perl


Ur :: Object Gerelateerde software