BreizhCamp 2013, programmation fonctionnelle en java, si , si...
1. Auteur: Damien GOUYETTE
Si, si
Programmation
fonctionnelle en java
Date: 14 juin 2013
BreizhCamp, 14 juin 2013 - Damien GOUYETTE
2. BreizhCamp, 14 juin 2013 - Damien GOUYETTE
Programmation fonctionnelle en java
Développeur java/web > 10 ans
Indépendant depuis 2011 :-)
@CestPasDur
http://www.cestpasdur.com
Si, si
Auteur
3. PAGE: 1 de 6
Programmation fonctionnelle en java
Il n’y aura pas :
•Suite de fibonacci,
•Calcul de nombre premiers,
Mais des exemples mis en place qui en prod
Si, si
Spoiler :
BreizhCamp, 14 juin 2013 - Damien GOUYETTE
4. Programmation fonctionnelle en java
Après une première approche dans un langage dit
fonctionnel Scala
Comment mettre en place dans son projet Java 6 (le java
d’aujourd’hui ?
Si, si
BreizhCamp, 14 juin 2013 - Damien GOUYETTE
5. Programmation fonctionnelle en java
1.Découpage en fonctions facilement testables,
2.Code plus expressif,
3.Fonctions composables,
4.Adapté au multicoeur,
Si, si
Avantages :
BreizhCamp, 14 juin 2013 - Damien GOUYETTE
6. Programmation fonctionnelle en java
•Répétable
•Ne modifie pas l’extérieur,
•Facilement testable
•Composable.
Si, si
Fonction de premier ordre
BreizhCamp, 14 juin 2013 - Damien GOUYETTE
JsonHelper:22
JsonHelper: 34
JsonHelperTest:23
7. Programmation fonctionnelle en java
Retourne vrai ou faux, selon que l’expression contenue
est respectée, ou non.
Ex : RexgexPredicate retourne vrai s’il y a
correspondance à la regexp.
Si, si
Prédicats
BreizhCamp, 14 juin 2013 - Damien GOUYETTE
HomeMadeTalkService
TalkHelper
TalkHelperTest
FunctionalTalkService
8. Programmation fonctionnelle en java
Option : type polymorphique représentant
l’encapsulation d’une valeur optionnelle. Il est utilisé
en retour de méthode pour signifier que celle-ci
retourne ou non une valeur significative.
Deux valeurs sont possibles :
• None, absence de valeur,
• Some(valeur), présence de valeur
Si, si
Type Option
BreizhCamp, 14 juin 2013 - Damien GOUYETTE
TalkDao:24
TalkResource:32
9. Programmation fonctionnelle en java
Le type Either est l’encapsulation de l’appel à une
méthode pouvant échouer.
Deux valeurs sont possibles :
• Left(valeur), indique que le traitement a échoué,
• Right(valeur), indique que le traitement a réussi.
Si, si
Type Either
BreizhCamp, 14 juin 2013 - Damien GOUYETTE
TalkDao:24
TalkResource:32
10. BreizhCamp, 14 juin 2013 - Damien GOUYETTE
That’s all for today
Auteur: Damien GOUYETTE
Date: 14 juin 2012
Questions ?
11. Programmation fonctionnelle en java
Functional Programming Principles in Scala
Programmation fonctionnelle : utiliser le type Option
Programmation fonctionnelle : utiliser le type Either
Si, si
En savoir +
BreizhCamp, 14 juin 2013 - Damien GOUYETTE