Clase :: observable

Clase :: observable es un módulo PERL que permite que otras clases y objetos respondan a los eventos en los suyos.
Descargar ahora

Clase :: observable Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Chris Winters
  • Sitio web del editor:
  • http://search.cpan.org/~cwinters/SPOPS-0.87/SPOPS/SQLInterface.pm

Clase :: observable Etiquetas


Clase :: observable Descripción

Clase :: observable es un módulo PERL que permite que otras clases y objetos respondan a los eventos en los suyos. Clase :: Observable es un módulo PERL que permite que otras clases y objetos respondan a los eventos en suSs.Synopsis # Defina un paquete de clase observable Mi :: Objeto; Use la base QW (Clase :: Observable); # Dile a todas las clases / objetos que observan este objeto que se ha producido un número de cambio de estado subc crear {My ($ yo) = @_; EVAL {$ AUTO -> _ REALIZADOR_CREATE ()}; if ($ @) {My ::: Exception-> Throw ("Error Guardando: $ @"); } $ auto-> Notify_observers (); } # Lo mismo, excepto que haga el tipo de cambio explícito y pase # argumentos. Sub Edit {My ($ self) = @_; MI% OLD_VALUES = $ AUTO-> Extract_Values; EVAL {$ AUTO -> _ REALIZADOR_EDIT ()}; if ($ @) {My ::: Exception-> Throw ("Error Guardando: $ @"); } $ auto-> Notify_observers ('Editar', old_values ​​=>% Old_Values); } # Defina un paquete de observador My :: Observer; Sub Actualización {My ($ clase, $ objeto, $ acción) = @_; a menos que ($ acción) {advertir "no se puede operar en sin acción"; regreso; } $ clase -> _ on_save ($ objeto) si ($ EQ EQ 'Save'); $ Clase -> _ on_update ($ objeto) if ($ acción eq 'actualización'); } # Registre la clase Observador con todas las instancias de la clase observable # clase My :: Object-> Add_observer ('My :: Observer'); # Registre la clase de observador con una sola instancia de la clase # observable My $ objeto = mi :: Objeto-> Nuevo ('foo'); $ objeto-> add_observer ('My :: Observer'); # Registrar un objeto Observador de la misma manera My $ Observer = My :: Observer-> Nuevo ('Bar'); Mi :: Objeto-> Add_Observer ($ observador); My $ objeto = mi :: Objeto-> Nuevo ('foo'); $ objeto-> add_observer ($ observador); # Registrar un observador usando un subrutino subcatch_observation {...} My :: Object-> Add_observer (catch_observation); My $ objeto = mi :: Objeto-> Nuevo ('foo'); $ objeto-> add_observer (catch_observation); # Defina la clase observable como padre y permite que los observadores funcionen con # sea utilizado por el paquete secundario, mi padre; usar estricto; Use la base QW (Clase :: Observable); sub prepare_for_bed {my ($ self) = @_; $ Self-> Notify_obServers ('prepare_for_bed'); } subpincuencia_teeth {my ($ self) = @_; $ yo -> _ pincel_teeth (tiempo => 45); $ yo-> _ floss_teeth (tiempo => 30); $ yo -> _ gárgaras (tiempo => 30); } Sub Wash_Face {...} Paquete My :: Child; usar estricto; usar la base qw (mi :: padre); subbinche_teeth {my ($ self) = @_; $ yo-> _ mojado_toothbrush (); } Sub Wash_Face {retorno} # Crear un paquete de observador basado en clase My :: Parentrules; Sub Actualización {My ($ artículo, $ acción) = @_; if ($ acción eq 'prepare_for_bed') {$ item-> pincel_teeth; $ item-> wash_face; }} My :: Padres-> Add_Observer (__Package__); $ Padre-> Prepare_for_bed # cepillo, hilo dental, gárgaras y lavado de cara $ hijo-> prepare_for_bed # Pretenda de cepillar, pretender lavar los requisitos de la cara: · Perl


Clase :: observable Software relacionado