[Cascavel-pm] Transformando em objeto

Lorn lorn.br em gmail.com
Quinta Novembro 30 06:07:49 PST 2006


On 11/30/06, Adriano Ferreira <a.r.ferreira em gmail.com> wrote:
>
> On 11/30/06, Lorn <lorn.br em gmail.com> wrote:
> > Quando você usa módulos no seu programa, significa que você está usando
> OO??
>
> Não. O primeiro propósito dos módulos é ter um 'namespace' separado
> onde você pode colocar as subrotinas principais, variáveis, etc. de
> seu código e escolher seletivamente o que você expõem para os usuários
> do módulo (através de métodos que podem ser exportados ou objetos).
>
> > Eu sempre tive essa duvida, por causa daquele 'package...' lá em cima :)
> > E também porque você acessa "metodos" do modulo, e sempre que eu ouço
> falar
> > em metodos eu lembro de OO.
>
> Em Perl, subrotinas são métodos quando você usa elas do tipo
>
>      File::Spec->catfile(@parts)
>
> ou
>
>      $mech->get($url)
>
> É OO mesmo neste caso.


Foi o que eu pensei, eu tenho a mente meio perturbada com OO por causa do
Java, no Perl é muito melhor, vou seguir a sua dica, e a do Randal em
aprender Smalltalk só pra aprender/entender melhor os conceitos de
orientação a objeto.
Obrigado pelo esclarecimento Adriano.

> Agora programar em OO só pra quem gosta mesmo, ou se você usa um Framework
> > que facilita isso, tipo Catalyst.
>
> Como eu disse, OO pode ser a escolha certa às vezes. Muitos módulos
> famosos do CPAN são OO (DBI, WWW::Mechanize, etc.), outros não (como
> ExtUtils::MakeMaker, Test::More, etc.), e outros tem interfaces que
> suportam OO e API funcional (como XML::Simple, YAML, etc., etc.)
>
> Eles não são úteis só há nível de frameworks completos como o Catalyst.
>
> > /me tem trauma de OO por causa do Java >.<
>
> Todos que foram apresentados a OO da forma errada tem trauma. Faz
> pouco tempo o Randal disse "Você não conhece objetos se não conhece
> Smalltalk". (http://use.perl.org/~merlyn/journal/31081)
>
>
> > On 11/30/06, Adriano Ferreira <a.r.ferreira em gmail.com> wrote:
> > >
> > > On 11/30/06, Lorn <lorn.br em gmail.com> wrote:
> > > > Qual a vantagem de eu tranformar um programa em perl normal em
> objeto?
> > > > alem dele ficar "abençoado" :P
> > >
> > > Se o programa tem partes reutilizáveis, vale apenas trabalhá-lo em
> > > módulos (que já ajudam) e se a complexidade aumenta, objetos podem ser
> > > interessantes (embora não haja regra geral -- tem de ser visto caso a
> > > caso e, como sempre, depende. Depende de mil e um fatores -- passando
> > > desde a utilização do código até a proficiência/paciência do
> > > programador).
> > >
> > > Se é um código para ser usado uma única vez, não vale a pena complicar
> > > -- você pode demorar mais projetando o objeto do que resolvendo o
> > > problema em mãos. Se é um código com o qual você e outros terão de
> > > conviver por muito tempo e que provavelmente vai mudar e evoluir, você
> > > vai apreciar ter feito dele na forma de objetos.
> > >
> > > Se você é supersticioso, abençoar seu código (o equivalente Perl de
> > > trabalhar com objetos) deve ser sempre um bom negócio. Mas superstição
> > > não há de funcionar sempre em casos de programação.
> > > _______________________________________________
> > > Cascavel-pm mailing list
> > > Cascavel-pm em pm.org
> > > http://mail.pm.org/mailman/listinfo/cascavel-pm
> > >
> >
> >
> >
> > --
> > Lorn
> > - Slackware Linux
> > www.slackwarezine.com.br
> > - http://lornlab.org
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 
Lorn
- Slackware Linux
www.slackwarezine.com.br
- http://lornlab.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20061130/1129903c/attachment-0001.html 


Mais detalhes sobre a lista de discussão Cascavel-pm