Développement fonctionnel vs objet

Gestion de l’environnement :

1) Objet
En objet, potentiellement, toute fonction a accès à un environnement : $this, variables globales.
Inconvénient : on ne peut déterminer le retour d’une méthode à partir des ces arguments d’entrée.
Avantage : souplesse.
$perso1 = new Perso(nb_enfants, revenus, baremes);

$impot = $perso1->calcul();

Perso::calcul()
if ($this->revenus > baremes[0])
taux = 30
else
taux = 15

montant = $this->revenus / taux;

montant = montant/$this->nb_enfants;

return montant;

2) Fonctionnel
Une fonction n’a accès qu’à ces arguments d’entrée.
Avantage : retour déterminé par les args entrants.
Inconvénient : rigidité.

taux = get_taux(revenus, baremes);

montant = calcul_impot(revenus, taux, nb_enfants);

Ce contenu a été publié dans développement. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *