Convencion sobre configuracion

by ryudice on April 13, 2010

Desafortunadamente para mi persona no puedo dormir asi que voy a tratar de aprovechar mi insomnio con este post. La convencion sobre configuracin es un paradigma que ha surgido con gran popularidad en los frameworks de desarrollo web, el ejemplo clasico es el framework rails. La razon de este surgimiento esta en que de repente a los programadores empezaron a preocuparse por ser productivos mas de lo normal, he aqui porque la mayoria de estos frameworks de convencio sobre configuracion tambien utilizan lenguajes dinamicos(Groovy, ruby, php, python), los cuales se supone que hacen mas productivo al programador porque permiten usar metaprogramacion y tipado dinamico.

Convencion sobre configuracion quiere decir que en ves de tener que configurar mi aplicacion en un archivo XML(por ejemplo), lo que hago es utilizar una convecion, de nombrado de mis clases por ejemplo, para susituir la configuracion.

Digamos que en el caso de ASP.NET, yo tengo varias clases pero no todas son clases de persistencia, y que normalmente yo tengo que definir en un XML las clases de persisten como en el caso de Nhibernate, ahora esto es configuracion, si quisieramos usar convencion lo que hariamos es nombrar mis clases con un prefijo, “DB” por ejemplo, de tal manera que mi clase de persistencia de productos se llame “DBProducto”, y que automaticamente Nhibernate, asuma que las clases que contengan este prefijo son clases persistencia, ahora esto es convencion, no tengo que configurar nada.

El ejemplo anteriormente mencionado actualmente se puede lograr utilizando Fluent NHibernate, es una version de convencion sobre configuracion de Nhibernate.

La convencion sobre configuracion realmente nos vuelve mas productivos, mucho mas, yo la verdad amo a Rails desde la primera ves que lo logre entender de verdad, desgraciadamente esta lejos de darme de comer, asi que tengo que seguir con .Net.

Otros frameworks de configuracion sobre convencion son Spring Roo(Java), Grails(Groovy), Fluent Nhibernate(.NET), Rails(Ruby), CakePHP(Php), ASP.NET MVC (.NET)

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Twitter

No related posts.

Leave a Comment

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

PensandoEnCodigo is Digg proof thanks to caching by WP Super Cache