Exemple
Au sein du système de vente en ligne de véhicules, nous gérons des commandes issues de clients en France et au Luxembourg. La différence entre ces deux commandes concerne notamment le calcul de la TVA. Si en France, le taux de TVA est de 20 %, il est de 17 % au Luxembourg. Le calcul de la TVA demande deux opérations de calcul distinctes en fonction du pays.
Une première solution consiste à implanter deux classes distinctes sans surclasse commune : CommandeFrance et CommandeLuxembourg. Cette solution présente l’inconvénient majeur d’avoir du code identique mais qui n’a pas été factorisé comme l’affichage des informations de la commande (méthode affiche).
Une classe a ...