La programmation fonctionnelle en une image.
Pour ce bonus, je vous propose un schéma récapitulatif des principes fondamentaux de la programmation fonctionnelle. Ce n’est pas tout ce qu’il y a à savoir sur elle, mais tous les autres principes découlent de ceux-ci.
Vous pouvez télécharger l’image en HD ici.
Explications
Les types en PF n’ont pas de comportement, ce sont simplement des données organisées dans des structures comme en C.
Les fonctions pures n’ont pas d’effet secondaire : elles ne font que prendre des paramètres d’entrée, faire des traitements et retourner un résultat. C’est ce qui les rend très prédictibles, et donc simples à tester.
Des types peuvent contenir d’autres types afin d’en former des plus complexes.
Les fonctions prennent en entrée des types, et en retournent d’autres qui sont ensuite utilisés par d’autres fonctions. C’est cet enchaînement qui permet de créer des algorithmes complexes avec des règles aussi simples.
Les fonctions impures sont celles qui vont s’occuper de tous les effets secondaires. Elles utilisent l’environnement fonctionnel pour faire la majorité de leurs calculs, mais l’inverse n’est pas vrai.
Voici un exemple schématique d’une architecture fonctionnelle complète, et de son utilisation dans une règle métier. L'image est téléchargeable en HD ici.
Et voilà, en espérant avoir été clair, si ce n’est pas le cas, faites-le moi savoir dans les commentaires, je mettrai ma cape viendrai vous porter secours au plus vite 😉
Références
Et chose promise, chose due, je vous mets quelques liens pour approfondir vos connaissances au sujet de la PF.
La conférence de Russ Olsen, mon premier pas dans la PF.
La conférence de Scott Wlaschin sur les patrons de conception principaux de la PF.
La conférence de Jordan Parmer qui montre une application concrète et professionnelle de la PF.
Afin d'éviter les spams, messages haineux ou insultants envers les autres commentateurs, tous les commentaires sont soumis à modération.