fluent
En d'autres termes
fluent
Définition
Cet adjectif s'applique à un style de conception de classes en programmation par objets, dans lequel les méthodes d'affectation (setter) renvoient l'instance sur laquelle elles ont opéré.
Pour les langages qui, à la différence de Pascal,
ne disposent pas de la construction with
, cela
permet d'en imiter la présentation. Ainsi, en PHP, on pourra
avoir une programmation du type:
<?php
$cmd = new Commande();
$cmd->client($client_id)
->article(1, 'CA Brightstor ARCserve Backup 11.5 pour Linux')
->article(3, 'CA BAB agent client Win32')
->article(1, 'CA OLP Solutions kit')
->livraison('express');
?>
...alors que dans un style plus traditionnel, le code aurait eu cette apparence:
<?php
$cmd = new commande();
$cmd->setClient($client_id);
$cmd->addArticle(1, 'CA Brightstor ARCserve Backup 11.5 pour Linux');
$cmd->addArticle(3, 'CA BAB agent client Win32');
$cmd->addArticle(1, 'CA OLP Solutions kit');
$cmd->livraison('express');
?>
A propos du terme "fluent"
Selon Martin Fowler, le terme aurait été créé par Eric Evans et lui courant 2005, mais le procédé lui-même semble avoir été popularisé dans le framework Hibernate pour Java sous le nom de "chaînage de méthodes" (method chaining) et dériver de pratiques courantes en Smalltalk.
L'adjectif "fluent" est d'un usage rare en français, mais correspond dans ce cas précis bien au sens de l'anglais "fluent", ce qui n'est pas toujours le cas.
Epoque du terme
2005