POJOs com Metadados ainda são POJOs?

O que acham disso?

Independente da minha opinião, um dos poucos psots sensatos no java.net ever.

Eh algo bem proximo do que acontece no .NET. Bastante gente reclama que com Attributes o povo faz “classes” que nao tem corpo, mas sim dezenas de atributos… voce acaba tendo que revirar o codigo para descobrir o que cada um faz.

Rafael

Não vejo nada de ruim em usar anotações, uma vez que permite resolver problemas que antes somente com OO exigiam muito código.

Metadados são recursos muito uteis. E acho que a SUN demorou em implementa-los.
Seria uma ótima forma de criar mecanismos mais interessantes de persistencia e geração automática de GUI.

O Java 1.5 traz esse recurso. Mas está legal como o do .NET ?

Atributos estaticos sao meio chatinhos, no entanto. Alguma chance de ver atributos dinamicos e per-instance, tipo os que rolam em Python hoje, ou em Ruby com isso aqui: http://blogs.codehaus.org/people/rinkrank/archives/000994_annotations_in_ruby.html ?

(edit: coloquei o link pro post errado :P)

Java não é uma linguagem de scripting… Muita coisa não tem como colocar porque seria malabarismo demais para oque existe hoje.

Java foi projetada para ser c++ simples e facil, e em muitos pontos é. Se fosse o caso se ser um avanço em cima do perl, concordo com você.

Valeu pelo reality check, louds :smiley:

O que acham disso:

POJO são as classes de negócio quando implementados com java puro, sem os malditos Enterprise Java Beans!!

Tipo, daquele jeito que a gente aprende na faculdade!!!

É isso mesmo???

Nossa, olha eu falando asneira outra vez, mas va lá…

POJO pra mim, ao menos na minha compreensão deste texto é que são objetos Java que não pertencem ao domínio, por exemplo classes utilitárias.

Mas eu posso(e provavelmente) estar errado.

Eu realmente acho que tentar introduzir aspectos das linguagens de scripting no java, que é estáticamente tipada, não tem como ficar bom.

Penso que o melhor seja alterar o modelo de execução da JVM, e o formato do bytecode, para acomodar melhor linguagens de scripting. Um ambiente misto com java e jython/jruby/grovy/javascript seria o ideal.

Aproveitando, cv você sabe em que pé está o jruby? Já consegue executar o rails?

Olá,

POJO é um objeto Java que não implementa nenhuma interface oue xtende nenhuma classe não necessária ao domínio. Um Servlet não é um POJO, porque precisa extender HttpServlet, um EJB não é um POJO, poruqe você é obrigado a usar N interfaces (no EJB 3 serão POJOs).

IMHO, JavaBeans também sõ restritivos demais para serem POJOs, porém a maioria dos autores os considera POJOs.

Bom, anotações não se encaixam nos moldes das coisas que um POJO não tem.

Será que vamos ter novos acronimos toscos?

APOJO (Annotated POJO)
NPOJO (New POJO)
NWOBHM-POJO?

Por falar nisso, qual a correta flexão de pojo?

POJOs nao tem nenhuma obrigacao de pertencer ao dominio, ou de ficar fora deles: a definicao de POJO, mesmo, nao quer dizer muita coisa, pra falar a verdade. So que eh um objeto simples, sem vinculos com nenhum framework ou conteiner.

Ok, palavras mal escolhidas, tentando novamente:

POJO é um objeto Java que não implementa nenhuma interface oue xtende nenhuma classe não necessária ao cumprimento de suas resposabilidades, impostos por alguma tecnologia/framework.

Legal:
:arrow: tchau getters/setters :slight_smile:
:arrow: tchau “implements java.io.Serializable” e afins;
:arrow: tchau XMLs malas!
:arrow: mais reuso :slight_smile:

Chato:
:arrow: lembram-se das macros? Então… :stuck_out_tongue:

Sobre o lance das annotations dinâmicas, não seria possível (especulando) criá-las usando mixins?

[quote=Daniel Quirino Oliveira]
Sobre o lance das annotations dinâmicas, não seria possível (especulando) criá-las usando mixins?[/quote]

Segundo a forma que o vilella mostrou, não…

O truque seria se as classes de reflection permitissem herança. De fato, muita gambiarra hoje em dia poderia ser resolvida com isso.

E por quê dar uma sigla para essa coisa? Tipo eu poderia chamar todas as classes que implementam duas interfaces e com 4 métodos a mais de CIDIQM…

Pq se nao tivesse sigla a gente teria que chamar de “classe simples, sem dependencia direta de nenhum framework ou tecnologia que nao esteja disponivel na API basica do Java”. Entao, ao inves de CSSDDNFOTQNEDNABJ, reduziram pra POJO :slight_smile:

Huhauhauhauhauhauh boa!!!

Mas vocês entenderam o que quis dizer? Quando eu entraria em uma conversa ou me lembraria da existência de uma “classe que implementa duas interfaces e com 4 métodos a mais”, gerando a necessidade da sigla. O que o POJO tem que todo mundo fala dele? Eu sou um alienado quanto a isso! Vós Understandes nau?