[SP-pm] Curso Moose OOP

Eden Cardim eden at insoli.de
Tue Aug 14 08:47:19 PDT 2012


>>>>> "thiagoglauco" == thiagoglauco  <thiagoglauco em ticursos.net> writes:

    thiagoglauco> Sages, estou a berto às críticas construtivas, sugestões e
    thiagoglauco> interessados em fazer a revisão dos textos e video-aulas...

Boa Glauco!

    thiagoglauco> http://joomla.ticursos.net/index.php/free-beer.html

Só uma observação sobre esse trecho de código:

  package Pessoa;

  use Moose;

  has 'nome' => (
      is  => 'rw', #read/write
      isa => 'Str',
      reader => 'get_nome',
      writer => 'set_nome',
  );

  has 'idade' => (
      is  => 'rw', #read/write
      isa => 'Int',
      reader => 'get_idade',
      writer => 'set_idade',
  );

A construção

  is => 'rw'

é um "atalho" para:

  accessor => 'nome'

que é um (quase) um atalho para:

  reader => 'nome',
  writer => 'nome'

Então apesar de não ser propriamente "errado", não é recomendável. Use
uma das três abordagens:

  has nome => (
    is => 'rw',
    isa => 'Str'
  );

ou

  has nome => (
    reader => 'get_nome',
    writer => 'set_nome',
    isa => 'Str'
  );

ou

  has nome => (
    accessor => 'nome',
    isa => 'Str'
  )

Eu particularmente prefiro ilustrar com a primeira construção, por ser
mais conciso. O cookbook tem exemplos que ajudam a ilustrar bem as
vantagens do Moose:
https://metacpan.org/module/Moose::Cookbook::Basics::Point_AttributesAndSubclassing

Uma outra coisa que você pode apresentar, e que as pessoas tem
demonstrado um aumento significativo de interesse é o http://joose.it/,
um "loose port" de moose pra javascript.

-- 
Eden Cardim                        Software sob medida            
+55 11 9644 8225              Gestão de projetos de software    
edenc em insoli.de            Gestão de servidores e bancos de dados
                            Treinamento em soluções Open Source 
     Insolide                  
Soluções de TI Ltda.     Converse conosco a respeito de como nossas 
 http://insoli.de      soluções podem ajudar o seu projeto ou empresa


More information about the SaoPaulo-pm mailing list