tag:blogger.com,1999:blog-33115344.post6024632525991844289..comments2013-09-03T01:54:04.849-03:00Comments on Windshifts - Luca Bastos: Não gosto de configuração programáticaLuca Bastoshttp://www.blogger.com/profile/08105913026457778167noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-33115344.post-34746031182481000492007-06-07T07:51:00.000-03:002007-06-07T07:51:00.000-03:00Não é difícil de perceber que os parametros burros...Não é difícil de perceber que os parametros burros e estáticos que vc deseja que o pessoal do suporte tenha acesso para alterar podem estar tranquilamente num arquivo properties ou até mesmo num banco de dados, de forma que a configuração programática chupe esses dados. Daí o pessoal do suporte pode até ter uma interface web para alterar isso, o que seria mais prudente e seguro.<BR/><BR/>Configuração Programática oferece o melhor de todos os mundos. Vários frameworks estão indo por esse caminho: Guice, Waffle, Rifle, Mentawai, etc.<BR/><BR/>É claro que não ter que configurar devido a convenções, é ainda melhor, mas quando houver configuração, tomara que eu possa faze-la facilmente via código Java ou alguma DSL.<BR/><BR/>Como eu faço um loop usando XML para configurar 100 actions de crud por exemplo?<BR/><BR/>Outras vantagens da configuração programática:<BR/><BR/># Mais prazerosa e natural, afinal estamos falando de código Java e não de uma especificação em XML.<BR/><BR/># Menos propensa a erros e typos, já que uma configuração em Java pode ser compilada antes de ser carregada pela aplicação web.<BR/><BR/># Ótima integração com IDEs, permitindo usar recursos como auto-complete, auto-compile (build automático), refactoring, etc.<BR/><BR/># Flexibilidade total que apenas uma linguagem de programação pode oferecer, o que te permite criar seus próprios métodos de configuração, loops, ifs, comentários, ou seja, você possui a liberdade para fazer a configuração se adaptar a você e não você se adaptar ao XML.<BR/><BR/># Utilizar linguagens de script como JRuby, Groovy, BeanShell, etc. para configurar sua aplicação, possibilitando uma configuração dinâmica que pode ser recarregada automaticamente pelo container a cada modificação.<BR/><BR/># O bom e velho JavaDoc, documentando todos os métodos que podem ser utilizados para configuração.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-33115344.post-26637497451431592802007-06-05T16:01:00.000-03:002007-06-05T16:01:00.000-03:00Luca, muito bom post.Estou contigo. A configuração...Luca, muito bom post.<BR/><BR/>Estou contigo. A configuração programática a meu ver apenas elimina de certa forma o uso de XML, quando o grande problema é o excesso da necessidade de configurações. Ja ouvi muita gene argumentando que utilizar conf programática bom em virtude da utilização de recursos das IDEs JAVA de code completion, etc. Como se não existisse DTD e Schema... Acredito particularmente em uma tendência de convenções.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-33115344.post-69500316240928655072007-05-02T00:33:00.000-03:002007-05-02T00:33:00.000-03:00Issa vira um deadlock. Como disse o Bruno, isso po...Issa vira um deadlock. Como disse o Bruno, isso pode virar uma salada de annotations que vai facilitar a vida de quem instala e configura, mas vai dar náuseas no pobre coitado que for manter o código.Andre Barbosahttps://www.blogger.com/profile/15391970324117519717noreply@blogger.comtag:blogger.com,1999:blog-33115344.post-62239274791282584092007-04-29T10:09:00.000-03:002007-04-29T10:09:00.000-03:00Oi Luca, parabéns pelo post.Quero dizer que também...Oi Luca, parabéns pelo post.<BR/><BR/>Quero dizer que também gosto de xml como uma ferramenta para integração de sistemas. Também acho perfeito usar CoC e ter um único lugar onde pode-se configurar a aplicação como um todo sem ter que repetir a mesma configuração para cada item. Quanto às configurações, penso que são de dois tipos: a de publicação e a do framework. A de publicação mexe com alguns parâmetros tipo o endereço do SGBD, por exemplo. Esta poderia estar em um arquivo xml, properties, ini, json, whatever. Provavelmente é pequeno e fácil de ser mantido. De forma que o lay-out do arquivo importará pouco. Quanto a configurar o framework, muita coisa pode ser alterada. Concordo que CoC reduz drasticamente essa configuração. E o que sobrar desta configuração poderia estar em um arquivo xml, java, json... Usar anotações me prende ao framework espalha tudo e se mal usadas, viram uma espécie de embedded-xml. Só as defendo para configurar classes específicas e que não vivem sem o framework.<BR/><BR/>E desculpe-me pelo comentário maior que o post.<BR/><BR/>Até.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-33115344.post-16112721520233307942007-04-27T23:18:00.000-03:002007-04-27T23:18:00.000-03:00Concordo completamente com a opinião do Marcos Sil...Concordo completamente com a opinião do Marcos Silva. Querem corrigir um erro com outro ...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-33115344.post-18417565023012171022007-04-26T15:18:00.000-03:002007-04-26T15:18:00.000-03:00Luca, muito bom poder voltar a ler algumas palavra...Luca, muito bom poder voltar a ler algumas palavras suas. Espero que continue com tempo para blogar.<BR/><BR/>Sobre o assunto do post, acho que as pessoas decidiram fazer configuração programatica como uma maneira errada de corrigir o excesso de configurações causado pela falta de convenções. O ruim da historia é que as pessoas geralmente não mudam de idéia sobre o assunto.<BR/><BR/>valeuz...marcospereirahttps://www.blogger.com/profile/03461934177732907127noreply@blogger.com