Classe :: Meta :: ExpressClasse :: Meta :: Express é um módulo Perl para criação concisa e expressiva de classe :: Meta aulas. | |
Baixe Agora |
Classe :: Meta :: Express Classificação e resumo
Propaganda
- Licença:
- Perl Artistic License
- Preço:
- FREE
- Nome do editor:
- David Wheeler
- Site do editor:
- http://search.cpan.org/~dwheeler/
Classe :: Meta :: Express Tag
Classe :: Meta :: Express Descrição
Classe :: Meta :: Express é um módulo Perl para a criação concisa e expressiva das classes de classe :: Meta. Classe :: Meta :: Express é um módulo Perl para a criação concisa e expressiva de classe :: Meta Classes.Synopsis Pacote My :: Contato; Use Classe :: Meta :: Express; Classe {Meta Contact => (Default_Type => 'string'); tem 'nome'; tem contato => (obrigatório => 1); } Este módulo fornece uma interface para criar de forma concisamente aulas com classes :: Meta. Embora eu seja obviamente gostado de aula :: Meta, nunca fui tão feliz com sua interface para criar classes: pacote my :: thingy; Use Classe :: Meta; Comece {# Crie um objeto Classe :: Meta para esta aula. Minha $ cm = Class :: Meta-> Novo (Key => 'Thingy'); # Adicione um construtor. $ cm-> add_constructor (nome => 'novo'); # Adicione um par de atributos com acessadores gerados. $ cm-> add_attribute (nome => 'id', é => 'integer', obrigatório => 1,); $ cm-> add_attribute (nome => 'nome', é => 'string', obrigatório => 1,); $ cm-> add_attribute (nome => 'envelhecimento', é => 'inteiro',); # Adicione um método personalizado. $ cm-> add_method (nome => 'chk_pass', code => sub {return 'code'},); $ cm-> construir; } Este exemplo é relativamente simples; Pode ficar muito mais verboso. Mas mesmo ainda, todos os chama de métodos eram irritantes. Quero dizer, quem pensou em usar uma interface orientada a objetos para declarar uma aula? (Oh yeah: Eu fiz.) Eu não estava sozinho em querer uma interface mais declarativa; Curtis Poe, com minha bênção, classe criada :: Meta :: Declare, que usaria essa sintaxe para criar a mesma classe: pacote :: thingy; Use Classe :: Meta :: Declare ': Tudo'; Classe :: Meta :: Declare-> Novo (# Crie um objeto Classe :: Meta para esta classe. Meta => ,] Adicionar um construtor => , # Adicione um par de atributos com acessadores gerados. Atributos => , # Adicione um método personalizado. Métodos => ); esta abordagem tem a vantagem de ser um pouco mais conciso, e é declarativo, mas acho todos os níveis de indentação irritantes; É difícil para mim descobrir onde estou, especialmente se tiver que definir muitos atributos. E finalmente, tudo é uma string com esta sintaxe, exceto para aqueles escalares somente somente de leitura, como $ type_integer. Então não posso dizer facilmente onde um atributo termina e o próximo começa. Bleh. Requisitos: · Perl.
Classe :: Meta :: Express Software Relacionado
Modelo :: Recall.
Template :: Recall é um sistema de templatação "reverso de chamada de chamada". ...
227
Library C Shapefile C.
O pacote de biblioteca C Shapefile C fornece a capacidade de escrever programas C simples. ...
303