Modèle d'objet CALCUL
Le modèle CALCUL est le modèle le moins sophistiqué d'Oxygène++ ; il est par conséquent plus rapide à construire. Son utilisation est vivement conseillée pour effectuer des opérations répétitives. On pourra par exemple regrouper au sein d'un objet de type CALCUL toute une série de méthodes susceptibles d'être fréquemment utilisées dans un contexte particulier.
Liste des déclarations standards
Nom Désignation
AIDE Fichier
d'aides
BASE Base
de données
TABLE Contexte
de table principale
TABLE_SECONDAIRE Contextes
de tables secondaires
LIBELLES Table
de libellés
REP_OBJ Répertoire
de recherche des objets
SOCIETE Code
de la société
VARIABLES Liste
des variables utilisées
PARAMETRES Liste
des paramètres formels
SRC_MODELE Fichier
source contenant des modèles
Liste des méthodes standards
Nom Evénement correspondant
INIT Initialisation
DEBUT Début
de l'objet
FAIRE Méthode
principale
FIN Fin
de l'objet
SORTIE Sortie
de l'objet
Fonctionnement du modèle
- Le modèle d'objet CALCUL n'a aucune action automatique sur les tables. L'accès aux données de la base reste bien évidemment possible grâce aux instructions : Lire, Modifier, Ecrire, Annuler, etc...
- Un objet de type CALCUL n'a pas d'interface utilisateur (sauf s'il utilise les instructions du type BoiteDialogue) et ne peut pas imprimer sur un périphérique de l'ordinateur.
- Un objet de type CALCUL est « résident », cela signifie que toute instance d'un objet de type CALCUL reste par défaut en mémoire. Ses méthodes restent donc disponibles pour tous les autres objets jusqu'à ce que l'arrêt de l'objet CALCUL soit demandée par l'un des objets utilisateurs.
Erreurs à ne pas commettre
- L'objet CALCUL ne doit pas être utilisé comme une simple fonction : L'erreur classique du programmeur est de construire un objet CALCUL en lui passant des paramètres (par référence) et de provoquer la sortie systématique (une fois le calcul effectué) pour rendre le résultat à l'appelant. Avec cette technique de programmation, l'objet CALCUL perd tout son intérêt puisqu'il est dans ce cas construit à chaque fois. Il faut bien comprendre que ce type de programmation peut rendre des centaines de fois plus lent un calcul simple. (voir les instructions et fonctions : CreerObjet, AppliquerMethode)
- L'objet CALCUL étant résident, il le restera tant qu'il ne recevra pas l'ordre de sortir par un envoi de message. En pratique, cela signifie que l'objet qui a créé une instance de l'objet CALCUL est également responsable de sa destruction (voir les instructions et fonctions : Sortir, EnvoyerMessage).
- L'erreur classique est de construire autant de fois l'objet CALCUL que d'appels à ses méthodes. Il en résulte une accumulation d'instances d'objet en mémoire (une pour chaque appel) qui finit par saturer le système. Le programmeur doit être conscient que les méthodes d'un objet CALCUL restent à sa disposition pour effectuer des opérations répétitives. Il faut donc construire l'objet CALCUL une seule fois et faire appel à ses méthodes autant de fois que nécessaire (voir les instructions et fonctions : CreerObjet, CreerUnique, InstanceCreee, AppliquerMethode)
- Il faut regrouper au sein d'un objet de type CALCUL les méthodes susceptibles d'être utiles dans un contexte précis. Il est inutile de surcharger l'objet par des méthodes exceptionnelles ou des traitements lourds.
Programmation avancée
- Pour exploiter pleinement les possibilités du modèle CALCUL, nous vous conseillons de lire les chapitres suivants :
« Instances multiples & encapsulation des données »
« Notion de traitements coopératifs »
Schéma logique du modèle :
Construction de l'objet
INIT : Ouverture des tables
AVANT_DEBUT
DEBUT
APRES_DEBUT
AVANT_FAIRE
FAIRE
APRES_FAIRE
Interruption du schéma logique
La suite doit être déclenchée par programmation
AVANT_FIN
FIN
APRES_FIN
AVANT_SORTIE
SORTIE
APRES_SORTIE
Destruction de l'objet