Convention plutôt que configuration

Convention plutôt que configuration

Convention plutôt que configuration (aussi connu sous le nom de Coder par exception) est une bonne pratique informatique qui tend à faire décroire le nombre de décisions qu'un développeur doit prendre, en gagnant sur la simplicité, mais sans forcément perdre sur la flexibilité.

L'expression indique que le développeur doit seulement se concentrer sur les aspects non conventionnels de l'application. Par exemple, s'il existe un type Vente dans le modèle, la table correspondante dans la base de données se nommera implicitement vente. Ce n'est que si l'on choisit de dévier de cette convention, par exemple pour appeler la table produit_vente, qu'il sera nécessaire d'écrire du code pour y parvenir.

Lorsque la convention mise en place par l'outil de développement correspond à ce qui est correct pour l'application, on bénéficie du service sans qu'il soit nécessaire d'écrire du code ou des fichiers de configuration.

Motivation

Les technologies mal étudiées nécessitent de multiples fichiers de configuration, chacun avec de nombreuses options. Ils contiennent des notions spécifiques à chaque projet[1].

Par exemple, les premières versions du bien connu système de correspondance Classe-Base de données Hibernate, demandaient la description de ces correspondances dans des fichiers de configuration. On préfère aujourd'hui la convention qui stipule que le nom de la classe soit identique au nom de la table, réservant la configuration aux exceptions.

Utilisation

De nombreuses technologies utilisent cette approche. Ainsi Spring[2], Ruby on Rails[3], Grails[4], Zend Framework, CakePHP, symfony, Maven, Web2py, Play! (MVC).

Le concept est toutefois plus ancien que sa formalisation, et peut entre autres être retrouvé dans la conception orientée objet. Par exemple les JavaBeans correspondent pleinement à l'idée. Selon leur spécification [5]:

"Comme règle générale nous ne voulons pas inventer un énorme classe java.beans.NImporteQuoi dont tout le monde devrait hériter. Au contraire, l'environnement fournit le comportement implicite pour les objets "normaux", laissant la description des comportements spécifiques aux classes filles."

Références

(en) Cet article est partiellement ou en totalité issu de l’article en anglais intitulé « Convention over configuration » (voir la liste des auteurs)

  1. C2 Wiki (2009-09-01). Too Many Parameters. C2 Wiki, 1 September 2009. Retrieved from http://c2.com/cgi/wiki$?TooManyParameters.
  2. Convention over configuration support pour le Modèle-Vue-Contrôleur
  3. http://rubyonrails.org/, advertises the paradigm right from 'home'
  4. a description of configuration with the goal of convention http://grails.org/Unified+Configuration, and relationship to bean referencing from spring http://grails.org/doc/latest/guide/14.%20Grails%20and%20Spring.html
  5. Sun (24 juillet 1997). Spécification JavaBeans, section 1.4.

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Convention plutôt que configuration de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Apache Maven — Pour les articles homonymes, voir Maven. Apache Maven …   Wikipédia en Français

  • Ruby on Rails — Page d accueil par défaut …   Wikipédia en Français

  • RoR — Ruby on Rails Ruby on Rails Page d accueil par …   Wikipédia en Français

  • RubyOnRails — Ruby on Rails Ruby on Rails Page d accueil par …   Wikipédia en Français

  • Ruby On Rails — Page d accueil par …   Wikipédia en Français

  • Ruby on rails — Page d accueil par …   Wikipédia en Français

  • Archetype JavaScript Framework — Archetype Développeur Florian Traverse, Matthieu Lux, soutenu par Atos Worldline …   Wikipédia en Français

  • Web2py — Développeurs Massimo Di Pierro et contributeurs …   Wikipédia en Français

  • Grails (technologie) — Pour les articles homonymes, voir Grails. Grails (technologie) Développeu …   Wikipédia en Français

  • Grails (technique) — Pour les articles homonymes, voir Grails. Grails (technique) Développeurs Gr …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”