[Cascavel-pm] Transformando em objeto

Adriano Ferreira a.r.ferreira em gmail.com
Quinta Novembro 30 05:36:48 PST 2006


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.

> 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
>
>


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