Classe :: Observável

Classe :: Observável é um módulo Perl que permite que outras classes e objetos respondam a eventos no seu.
Baixe Agora

Classe :: Observável Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Chris Winters
  • Site do editor:
  • http://search.cpan.org/~cwinters/SPOPS-0.87/SPOPS/SQLInterface.pm

Classe :: Observável Tag


Classe :: Observável Descrição

Classe :: Observável é um módulo Perl que permite que outras classes e objetos respondam a eventos no seu. Classe :: Observável é um módulo Perl que permite que outras classes e objetos respondam a eventos no seu.synopsis # Definir um pacote de classe observável My :: Object; Use Base QW (Classe :: Observável); # Diga a todas as classes / objetos observando este objeto que um número de mudança de estado ocorreu SUB CREATE {MEU ($ ALHO) = @_; eval {$ auto -> _ execute_create ()}; if ($ @) {my :: except-> lance ("Erro salvando: $ @"); } $ self-> notify_observers (); } # Mesma coisa, exceto fazer o tipo de mudança explícita e passar # argumentos. subit edit {my ($ self) = @_; my% old_values = $ auto-> extract_values; eval {$ auto -> _ execute_edit ()}; if ($ @) {my :: except-> lance ("Erro salvando: $ @"); } $ auto-> notify_observers ('edit', old_values =>% old_values); } # Defina um pacote de observadores My :: Observer; Sub atualização {my ($ classe, $ objeto, $ ação) = @_; a menos que ($ ACTION) {WARN "NÃO PODE OPERAÇÃO NO sem ação"; Retorna; } $ classe -> _ on_save ($ objeto) se ($ ação eq 'salvar'); $ classe -> _ on_update ($ objeto) se ($ ação eq 'update'); } # Registre a classe Observer com todas as instâncias do observável # Classe My :: Object-> Add_Observer ('My :: Observer'); # Registre a classe Observer com uma única instância da classe # Observável Meu $ Object = My :: Object-> Novo ('Foo'); $ Object-> Add_observer ('My :: Observer'); # Registre um objeto Observer da mesma maneira que meu $ observer = My :: Observer-> Novo ('Bar'); Meu :: Object-> Add_observer ($ Observer); Meu $ Object = My :: Object-> Novo ('Foo'); $ Object-> Add_observer ($ Observer); # Cadastre-se um observador usando um sub-rotina Sub Catch_observation {...} Meu :: Object-> Add_observer (catch_observation); Meu $ Object = My :: Object-> Novo ('foo'); $ Object-> Add_observer (catch_observation); # Defina a classe observável como pai e permitir que os observadores sejam usados pelo pacote filho My :: pai; Use rigoroso; Use Base QW (Classe :: Observável); sub prepare_for_bed {my ($ self) = @_; $ self-> notify_observers ('preparar_for_bed'); } sub-pincel_teeth {my ($ self) = @_; $ auto -> _ pincel_teeth (tempo => 45); $ auto -> _ floss_teeth (tempo => 30); $ auto -> _ gargarejo (tempo => 30); } sub wash_face {...} pacote meu :: criança; Use rigoroso; Use a base QW (meu :: pai); sub pincel_teeth {my ($ self) = @_; $ auto -> _ wet_toothbrush (); } Sub Wash_Face {Return} # Crie um pacote de observadores baseados em classe Meus :: ParentRules; Sub atualização {MY ($ ITEM, $ AÇÃO) = @_; if ($ ACTION EQ 'Preparar_For_bed') {$ item-> pincel_teeth; $ item-> wash_face; }} Meu :: pai-> add_observer (__package__); $ pai-> Preparar_For_bed # escova, fio dental, gargarejo e lavar a face $ filho-> Preparar_for_bed # fingir que escovar, fingir que lavar os requisitos da face: · Perl.


Classe :: Observável Software Relacionado