Klasse :: waarneembaar

Klasse :: Observeerbaar is een PERL-module waarmee andere klassen en objecten kunnen reageren op gebeurtenissen in de uwe.
Download nu

Klasse :: waarneembaar Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Chris Winters
  • Uitgever website:
  • http://search.cpan.org/~cwinters/SPOPS-0.87/SPOPS/SQLInterface.pm

Klasse :: waarneembaar Tags


Klasse :: waarneembaar Beschrijving

Class :: Observable is een Perl module die andere klassen en objecten maakt het mogelijk om te reageren op gebeurtenissen in de jouwe. Class :: Observable is een Perl module die andere klassen en objecten maakt het mogelijk om te reageren op gebeurtenissen in yours.SYNOPSIS # een waarneembare class pakket My :: Object definiëren; gebruiksbasis qw (klasse :: Observable); # Vertel alle klassen / objecten observeren van dit object dat een state-verandering # opgetreden sub creëren {mijn ($ zelf) = @_; eval {$ zelf -> _ perform_create ()}; if ($ @) {My :: buitenge-> worp ( "Fout bij het opslaan: $ @"); } $ Zelf-> notify_observers (); } # Hetzelfde, behalve make het type wijziging expliciete en passeren # argumenten. sub bewerken {mijn ($ zelf) = @_; mijn% old_values = $ zelf-> extract_values; eval {$ zelf -> _ perform_edit ()}; if ($ @) {My :: buitenge-> worp ( "Fout bij het opslaan: $ @"); } $ Zelf-> notify_observers ( 'edit', old_values =>% old_values); } # Definieer een waarnemer pakket Mijn :: Observer; sub-update {mijn ($ klasse, $ object, $ actie) = @_; tenzij ($ action) {waarschuwen "Kan niet operatie op zonder actie"; opbrengst; } $ Class -> _ on_save ($ object) if ($ actie eq 'save'); $ Class -> _ on_update ($ object) if ($ actie eq 'update'); } # Register de waarnemer klas met alle instanties van de waarneembare # klasse Mijn :: Object-> add_observer ( 'My :: Observer'); # Registreer de waarnemer klasse met een enkel exemplaar van de # waarneembare klasse mijn $ object = My :: Object-> new ( 'foo'); $ Object-> add_observer ( 'My :: Observer'); # Op dezelfde manier aanmelden waarnemer object mijn $ waarnemer = My :: Observer-> new ( 'bar'); Mijn :: Object-> add_observer ($ waarnemer); mijn $ object = My :: Object-> new ( 'foo'); $ Object-> add_observer ($ waarnemer); # Registreer een waarnemer met behulp van een subroutine sub catch_observation {...} Mijn :: Object-> add_observer (catch_observation); mijn $ object = My :: Object-> new ( 'foo'); $ Object-> add_observer (catch_observation); # Definieer de waarneembare klasse als ouder en laat de waarnemers te # worden gebruikt door het kind pakket My :: Parent; strikt gebruik; gebruiksbasis qw (klasse :: Observable); sub prepare_for_bed {mijn ($ zelf) = @_; $ Zelf-> notify_observers ( 'prepare_for_bed'); } Sub brush_teeth {mijn ($ zelf) = @_; $ Zelf -> _ brush_teeth (tijd => 45); $ Zelf -> _ floss_teeth (tijd => 30); $ Zelf -> _ gorgelen (tijd => 30); } Sub wash_face {...} verpakken My :: kind; strikt gebruik; gebruiksbasis qw (My :: Parent); sub brush_teeth {mijn ($ zelf) = @_; $ Zelf -> _ wet_toothbrush (); } Sub wash_face {return} # Maak een klasse gebaseerde waarnemer pakket My :: ParentRules; sub-update {mijn ($ post, $ actie) = @_; if ($ actie eq 'prepare_for_bed') {$ item-> brush_teeth; $ Item-> wash_face; }} Mijn :: moeder-> add_observer (__PACKAGE__); $ Ouder-> prepare_for_bed # borstel, zijde, gorgelen en wassen gezicht $ kind-> prepare_for_bed # doen alsof ze borstel, doen alsof ze het gezicht Requirements te wassen: · Perl


Klasse :: waarneembaar Gerelateerde software