mise en oeuvre de la POO
Mise en oeuvre de la POO
Mise
en oeuvre de la programmation orientée objets:
1°) On recherche tout ce qui est commun à plusieurs
folios, on le met en facteur et on cherche à le faire une seule fois pour tous
les folios puis on cherche à faire hériter par tous ces folios du résultat de
ce travail commun. L'héritage permet la réutilisation de code.
Exemple:
Mise en facteur de la lecture:
Au lieu de lire et trancoder 10 fois par folio et 40 fois
pour 4 folios, on met en facteur la tâche de lecture on la remonte à un niveau
supérieur, on crée un niveau supérieur pour exécuter cette tâche, on exécute
la tâche puis on fait hériter les niveaux inférieurs du résultat de cette tâche
en les faisant lire dans la base issue de cette tâche de lecture et trancodage.
Effet de la mise en facteur:
Lorsqu'on lit à partir de la base BF1, on profite déjà de toutes les
fonctionnalités qui sont entrés dans la constitution de la BF1. Ces
fonctionnalités sont par exemple lire de la B11, BIS, trancoder, sommer vers
les lignes détail.
Exemple:
Mise en facteur du calcul de taux.
Le
calcul de taux est une caractéristique des folios du trimestre. Donc c'est une
caractéristique commune à tous les groupes de lignes du folio 1. Par conséquent
on peut mettre en facteur cette tâche de calcul de taux et de marges, vers un
niveau supérieur.
On
crée un niveau d'abstraction supérieur, on programme dans ce niveau (folio 1),
on exécute, on stocke le résultat du travail. Le lieu de stockage de ce résultat
s'appelle la BD1: base pour folio 1 qui contient les lignes avec taux spécifiques
au folio 1 mais communes à tout le folio 1.
Puis
pour profiter de toutes les caractérisques et fonctionnalités déjà incluses
dans ce lieu de stockage (la base de données du folio 1), on lit à partir de
cette base BD1 lorsqu'on traite un groupe de lignes.
La
mise en facteur du calcul de taux (création d'un module calcul de taux dans un
niveau supérieur: niveau folio 1) permet la réutilisation de code au niveau
inférieur.
Effet de la réutilisation de code:
La réutilisation de code donne la puissance: plus les codes sont réutilisés,
plus le logiciel est compact, fiable, puissant et optimisé, rapide à développer,
facile à mettre en oeuvre et peu coûteux en temps CPU parce que la réutilisation
de codes permet la diminution du nombre de lignes de codes et de la taille du
logiciel donc elle entraîne la simplification de l'application.
Exemple:
Mise en facteur du calcul d'écarts et variations.
Le niveau de traitement le plus bas dans le RTGE existant
c'est le groupe de lignes. Il y a 10 groupes de lignes par folio.
Il y a 4 tâches par groupe de lignes.
Un groupe de lignes contient n lignes détail et une ligne
total.
Chaque groupe de lignes posséde des caractéristiques
selon s'il appartient à un folio de détail ou de synthèse, à un folio du
trimestre ou de comparaison, et aussi selon s'il concerne les ressources ou
remplois ou frais etc...
En
ce qui concerne les caractéristiques spécifiques, (ressources, remplois, frais
etc...) elles sont traitées au niveau du groupe de lignes (groupe de lignes
ressources etc...).
Par
contre, en ce qui concerne les caractéristiques communes à plusieurs groupes
de lignes (par exemple les lignes comparaison) il est bon d'exécuter une fois
pour toutes à un seul endroit (les calculs d'écarts et variations).
Ensuite
on fait hériter ces caractéristiques au niveau inférieur par le biais d'une
base de niveau supérieur: on fait la tâche de calcul d'écarts et variations,
puis on écrit le résultat dans la base BD2.
Ensuite,
pour profiter des résultats de cette tâche, on lit dans cette base BD2, et au
niveau de chaque groupe de lignes on a déjà tout prêt servi sur un plateau
les résultats de cette tâche (les écarts et variations) sans être obligé d'éxécuter
cette tâche (calcul des écarts et variations) au niveau de chaque groupe de
lignes. Cela s'appelle la réutilisation de code par héritage.
Exemple:
Ecarts et variations lignes ressources
Au
niveau des ressources on n'est pas obligé de recalculer les écarts et
variations ressources, les écarts et variations on déjà été calculées pour
toutes les lignes y compris les lignes ressources.
Si
on n'avait pas la programmation orientée objet, on n'aurait pas la BD2, on
serait obligé de lire la BIS et la B11 quand on traite les lignes ressources et
on serait obligé de
1°) lire à partir d'une grosse base en faisant des sélections
2°) faire des calculs d'écarts et variations pour
les
ressources
3°) faire les totalisations et mises en forme des
ressources
Ce qui revient à mélanger ce qui est général (lecture,
calcul)
avec du traitement spécifique (total, mise en forme) dans
un même endroit.
La programmation ancienne (CGB) produit une procédure
complexe qui exécute plusieurs tâches séquentiellement (lecture, calcul,
totaux, mise en forme) pour chaque groupe de ligne. Une telle procédure spécifique
à un groupe de lignes (comme dans CGB) est difficilement réutilisable pour
d'autres groupes de lignes (exemple: remplois, CSG, frais, divers). Et il faudra
donc répéter autant de fois de procédures complexes que de nombre de groupes
de lignes.
Alors
qu'un module 'newlook' qui exécute une seule et unique tâche (ex: module de
calcul des écarts et variations) est plus facilement réutilisable et donne un
logiciel de meilleure qualité.