Conventions over Configurations

Últimamente me he interesado por las conventions que propone Ruby on Rails frente a los larguísimos ficheros de configuración que actualmente se utilizan en el mundo Java. Todo aquel que haya programado algo relativamente grande con Struts o Spring sabe de lo que estoy hablando al final se crean ficheros XML que parecen no tener fin, Ruby on Rail es mucho más prágmatico utiliza las conventions.

El concepto es utilizar una serie de reglas para definir las clases y así evitar tener que definirlas en el fichero de configuración, por ejemplo si la clase acaba en Action (*Action) es un action y nos evitamos tener que definir cada una de las clases, esto también es aplicable a la hora de hacer inyección de dependecias de tal manera que los ficheros se evitan siempre que se pueda.

En Ruby on Rails se define una clase que mapea una tabla de una base de datos de la siguiente manera:

class BlogArticle < ActiveRecord::Base
has_many :comments
has_and_belongs_to_many :users
validates_length_of :title, :maximum => 200
end

Ni metodos setter,ni atributos,ni ficheros de configuración,ni validaciones interminables, todos están ahí pero sólo tienen sentido en tiempo de ejecución.

En java se están haciendo progresos pero el día que se alcance esto desde luego será un gran paso para el programador.

Enlaces interesantes:

http://s2container.seasar.org/en/DIContainer.html
http://blog.decaresystems.ie/index.php/2006/01/13/convention-over-configuration/
http://www.memestorm.com/blog/convention-over-configuration-in-springs-mvc/

2 Comentarios

  • 1. ActiveHibernate | PROGRAM&hellip  |  agosto 27th, 2007 at 3:58 pm

    [...] más complicada que subir el Kilimanjaro con chancletas. Para que veaís que no exagero os dejo un ejemplo para que lo compareís con [...]

  • 2. ¿Desarrollar con Flex no&hellip  |  noviembre 19th, 2007 at 1:27 pm

    [...] La pregunta es: ¿desarrollar interfaces gráficas con Flex significa ponerse a escribir tediosos XML´s de configuración? ¿Pero eso no es imposible de mantener? ¿Pero no había quedado claro que estamos en la era del Convention over configuration? [...]

Comenta el articulo:

Requerido

Requerido,