Classe :: Std :: Slots

fornecer sinais e slots para classes padrão
Baixe Agora

Classe :: Std :: Slots Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Andy Armstrong
  • Site do editor:
  • http://search.cpan.org/~andya/

Classe :: Std :: Slots Tag


Classe :: Std :: Slots Descrição

Fornecer sinais e slots para classes padrão Classe :: Slots :: Slots é um módulo Perl que fornece sinais e slots para classes padrão.Conventualmente as maneiras pelas quais os objetos de diferentes classes podem interagir uns com os outros serem projetados nessas classes; As alterações nesse comportamento exigem alterações nas classes em questão ou a criação de subclasses.Signals e slots permitem que objetos sejam conectados dinamicamente em tempo de execução de maneiras que não foram necessariamente antecipados pelos designers das classes. Por exemplo, considere uma aula que gerencia downloads de tempo consumindo: pacote meu :: downloader; Use Classe :: DST; {sub do_download {my $ self = shift; # ... fazer algo demorado ...}} Para uma determinada aplicação, pode ser desejável poder exibir um relatório de progresso como o download progride. Infelizmente meu :: Downloader não está conectado para permitir isso. Poderíamos melhorar o meu :: Downloader, fornecendo uma função de stub que é chamado periodicamente durante um download: pacote meu :: downloader :: melhor; Use Classe :: DST; {sub progresso {# Não faça nada} sub do_download {my $ self = shift; # ... fazer algo tempo consumindo periodicamente chamando o progresso () ...}} Então nós poderíamos subclasse meu :: melhor para atualizar um monitor: pacote meu :: downloader :: verbose; Use Base QW (My :: Downloader :: Melhor); Use Classe :: DST; {sub progresso {My $ self = shift; meu done = shift; Imprimir "$ feito% feito ";} Isso não é ruim - mas tivemos que criar uma subclasse - e teríamos que providenciar para que ele seja criado em vez de um meu :: downloader :: melhor a qualquer momento que quisermos usá-lo. Se exibir o progresso envolvido Atualizando uma barra de progresso em uma GUI Precisamos incorporar uma referência à barra de progresso em cada instância do meu :: downloader :: verbose.instead Poderíamos estender o meu :: melhor para fazer um retorno de chamada arbitrário através de um fornecido Referência de código Cada vez que o progresso () foi chamado ... Mas então temos que implementar a interface que permite que o retorno de chamada seja definido. Se também quisermos notificações de novas tentativas e falhas de servidor, precisaremos ainda mais chullbacks. Pacote tedioso. Tedious.synopsis My :: Classe :: One; Use Classe :: STD; USO :: STD :: Slots; {sinais qw (my_signal); sub my_slote {My $ self = shift; Imprimir "My_Slot acionado ";} sub do_stuff {my $ self = shift; imprimir" fazendo coisas ... "; $ self-> my_signal; # Enviar sinal de sinal" Feito material. ";}} Pacote Meu :: Classe :: Dois; Use Classe :: STD; USE :: STD :: Slots; {sinais qw (outro_signal); Sub outra_slot {My $ self = Shift; Imprimir" OUTRO_SLOT "; $ self-> Another_signal;}} principal; Meu $ Ob1 = My :: Classe :: One-> Novo (); Minha $ Ob2 = My :: Class :: Dois-> Novo (); # Nenhum sinal No entanto $ ob1-> do_stuff; # Conectar a um slot em outra classe $ OB1-> Connect ('my_signal', $ Ob2, 'outro_slote'); # emite sinal $ Ob1-> do_stuff; # Conecte um anon sub também Ob1-> Conectar ('My_Signal', Sub {Imprimir "Eu sou Anon ... ";}); # Emite sinal invocando dois slots $ Ob1-> do_stuff; requisitos: · Perl.


Classe :: Std :: Slots Software Relacionado

pod2fm.

Converta o formato do pod para documentos do FrameMaker e arquivo de livro ...

128

Download