| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/11/2008 13:29:24
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
danieldestro wrote:Então o "invoke()" e o "set()" não poderiam ser abolidos?
Eu acho que um invoke e set que já recebem o campo/método como parâmetro são o ideal. No caso de construtor eu acho que seria mais simples ter um método "create" que já receberia os parâmetros do contrutor.
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/11/2008 13:33:18
|
jonasabreu
Debugger
![[Avatar]](/images/avatar/54d97d6613bb7ac9f94dc4619a06310b.jpg)
Membro desde: 17/09/2007 18:42:58
Mensagens: 52
Offline
|
danieldestro wrote:Então o "invoke()" e o "set()" não poderiam ser abolidos?
Um dos focos era deixar o código bem legível (por isso uma DSL). Portanto, abolindo os dois ficaria bem menos legivel.
Até!
|
Mirror DSL - Reflection de forma simples - http://projetos.vidageek.net/mirror-pt
VidaGeek.net - http://vidageek.net |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/11/2008 14:24:13
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Quase um pseudo-código... hehehehe... Só não vamos falar de mnemônicos... kkkkk
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/11/2008 14:49:21
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Repetindo a pergunta, onde está o código fonte?
E eu tinha pensado em algo assim:
Acho bem mais intuitivo e menos burocrático
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/11/2008 15:00:12
|
jonasabreu
Debugger
![[Avatar]](/images/avatar/54d97d6613bb7ac9f94dc4619a06310b.jpg)
Membro desde: 17/09/2007 18:42:58
Mensagens: 52
Offline
|
Mauricio Linhares wrote:Repetindo a pergunta, onde está o código fonte?
jonasabreu wrote:Olá Mauricio,
por um erro acabei esquecendo de colocar no site (vou corrigir isso o mais rápido possível).
O source está em http://svn.vidageek.net/mirror .
Até!
|
Mirror DSL - Reflection de forma simples - http://projetos.vidageek.net/mirror-pt
VidaGeek.net - http://vidageek.net |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/11/2008 23:41:05
|
faelcavalcanti
GUJ Ranger
![[Avatar]](/images/avatar/04f2a4140112ae491f66a1c558df795f.jpg)
Membro desde: 03/05/2006 13:16:25
Mensagens: 960
Localização: Recife-PE
Offline
|
parabéns pelo projeto. a api de reflection ficou mais simples e em poucas linhas você já faz muita coisa.
o tal do invokeMethod é muito chato ter que verificar e tratar exceções e ficou bem mais interessante.
está lembrando algumas características do smalltalk. só não lembro agora o nome desta característica, vários métodos aninhados.
|

--
http://faelcavalcanti.wordpress.com/ :: http://pe.debianbrasil.org/
--
Acredite um pouco mais na força de sua própria intuição. Muitas vezes deixamos de realizar algo de bom ou que nos favoreça simplesmente porque achamos tudo muito difícil e por isso nem começamos. Moral da história: A vida é o caminho e não o destino, você é o arquiteto do seu caminho!
--
Obrigado, Rafa Rocha! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 07:26:50
|
Ednelson
Entusiasta Java
![[Avatar]](/images/avatar/01f8343e378b1ae8d0b66c992e7f7563.jpg)
Membro desde: 22/04/2007 16:57:39
Mensagens: 15
Offline
|
A título de conhecimento, existe uma API com proposta se não idêntica, muito parecida, fest-reflect. Parabéns pela iniciativa.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 07:52:17
|
Thiago Senna
GUJ Master
![[Avatar]](/images/avatar/78719f11fa2df9917de3110133506521.jpg)
Membro desde: 11/02/2005 08:08:02
Mensagens: 1595
Offline
|
Mauricio Linhares wrote:Repetindo a pergunta, onde está o código fonte? E eu tinha pensado em algo assim: Acho bem mais intuitivo e menos burocrático 
Deixe-me aproveitar o gancho e dar uma sugestão ao projeto. Que tal criar junto a documentação do site uma sugestão de como se criar um 'Wrapper' para o Mirror, possibilitando que cada projeto possa elaborar/customizar a gramática que será usada? Ou seja, a Mirror continua como está (que está bem legal), e ensina para seus usuários um jeito fácil de criar sua própria sintaxe usando uma classe que encapsule o Mirror. Não sei se seria fácil, mas acho que seria bem legal
This message was edited 1 time. Last update was at 18/11/2008 07:53:17
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 08:13:01
|
Thiago Senna
GUJ Master
![[Avatar]](/images/avatar/78719f11fa2df9917de3110133506521.jpg)
Membro desde: 11/02/2005 08:08:02
Mensagens: 1595
Offline
|
Outra sugestão,
não sei se na opinião de vocês isso se enquadraria no perfil do Projeto Mirror. Mas algo que tem sido dificil de encontrar por aí de forma simples é uma forma fácil de se fazer uma busca por classes que atendam algum determinado critério no classpath.
Por exemplo: imaginem que quero encontrar todas as classes que possuam uma annotation do tipo @Entity e configurá-lo no hibernate.
Como já disse, não sei se este tipo de recurso estaria no escopo do projeto de vocês. Mas fica aqui a sugestão
Caso gostarem da idéia, um ótimo ponto inicial para começar é estudar a seguinte classe do Spring: ClassPathScanningCandidateComponentProvider
Valeu!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 08:26:47
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
Thiago Senna wrote:Ou seja, a Mirror continua como está (que está bem legal), e ensina para seus usuários um jeito fácil de criar sua própria sintaxe usando uma classe que encapsule o Mirror.
Ótima idéia. Gostei!
Talvez algo usando os Matchers do hamcrest (que o JMock usa), para criar alguma forma de customizar a DSL interna.
Thiago Senna wrote:Por exemplo: imaginem que quero encontrar todas as classes que possuam uma annotation do tipo @Entity e configurá-lo no hibernate.
Outra ótima idéia! Acho que esse seria mais simples. Bastaria integrar com algo como o http://scannotation.sourceforge.net/
|
Procurando por oportunidades de emprego?
OndeTrabalhar.com
OndeTrabalhar.com Java?
http://blog.caelum.com.br
Fabio Kung
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 08:40:29
|
Thiago Senna
GUJ Master
![[Avatar]](/images/avatar/78719f11fa2df9917de3110133506521.jpg)
Membro desde: 11/02/2005 08:08:02
Mensagens: 1595
Offline
|
Eu não conhecia o Hamcrest e o Scannotation. Valeu pela dica, Kung.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 09:20:53
|
boaglio
Moderador
![[Avatar]](/images/avatar/c0c7c76d30bd3dcaefc96f40275bdc0a.png)
Membro desde: 09/09/2002 21:23:39
Mensagens: 1865
Localização: Sampa City
Offline
|
Achei bem interessante o projeto, mas se entendi bem o conceito de DSL, como não existe schema definido para representação abstrata da linguagem, ela não pode ser considerada uma DSL, seria por enquanto apenas uma classe de utilidades.
|
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de Java via MP! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 12:43:58
|
Paulo Silveira
Administrador
![[Avatar]](/images/avatar/a87ff679a2f3e71d9181a67b7542122c.jpg)
Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline
|
boaglio wrote:
Achei bem interessante o projeto, mas se entendi bem o conceito de DSL, como não existe schema definido para representação abstrata da linguagem, ela não pode ser considerada uma DSL, seria por enquanto apenas uma classe de utilidades.
creio que nao. quando a dsl é interna, estamos limitados pela sintaxe da propria linguagem (que ja possui uma sintaxe formalizada), fazendo a interseccao dela com a API exposta.
repare que o exemplo do fowler, a time and money API, nao define schema nenhum, e "segue as linhas de uma DSL", nas proprias palavras do Fowler:
http://martinfowler.com/bliki/FluentInterface.html
|
http://blog.caelum.com.br twitter: @paulo_caelum
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 13:24:38
|
Roger--
JavaGuru
Membro desde: 16/05/2005 14:31:36
Mensagens: 205
Localização: São Bernardo do Campo/SP
Offline
|
Paulo Silveira wrote:
creio que nao. quando a dsl é interna, estamos limitados pela sintaxe da propria linguagem (que ja possui uma sintaxe formalizada), fazendo a interseccao dela com a API exposta.
repare que o exemplo do fowler, a time and money API, nao define schema nenhum, e "segue as linhas de uma DSL", nas proprias palavras do Fowler:
http://martinfowler.com/bliki/FluentInterface.html
Legal! Isto já responde o comentário/dúvida que deixei no post http://blog.caelum.com.br/2008/11/17/mirror-dsl-facilitando-o-uso-da-api-de-reflection/
Sucesso!
|
Você sofre com Waterfall !?! Eu também. Veja dicas aqui 1up4developers |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 18:05:20
|
cmoscoso
Virtual Machine Man
Membro desde: 23/10/2007 10:08:29
Mensagens: 687
Offline
|
boaglio wrote:
Achei bem interessante o projeto, mas se entendi bem o conceito de DSL, como não existe schema definido para representação abstrata da linguagem, ela não pode ser considerada uma DSL, seria por enquanto apenas uma classe de utilidades.
Qual trecho do artigo afirma isso?
|
|
|
 |
|
|