Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parBarbe Marchal Modifié depuis plus de 9 années
1
Règles de passage iup MIAGe 3° année2000 - 2001 Projet MIAGe Toulouse – Groupe 21
2
Passage du type IDL au type JAVA iup MIAGe 3° année2000 - 2001 Projet MIAGe Toulouse – Groupe 22
3
Exemple : composant offreemploi module offreemploi { interface I_Offreemploi { void creerOffre(); void onsulterLaListeDesOffres(); }; Règles de passage de l’IDL vers Java Un module IDL devient un package Java Une interface IDL devient une interface Java Un attribut IDL génère un attribut private et deux accesseurs Java Une méthode IDL devient une méthode publique Java … IDL du composant offreemploi iup MIAGe 3° année2000 - 2001 Projet MIAGe Toulouse – Groupe 23
4
iup MIAGe 3° année2000 - 2001 Projet MIAGe Toulouse – Groupe 24 Implémentation des classes « rôles » La classe “rôle” permet d’utiliser les services d’un autre composant par le biais de son interface. Elle peut avoir comme attributs privés d’autres classes rôles qui permettront de mieux définir la classe composée. Public class ProfilRecherche import profilsdepostes { private String intituleProfil_; //correspond à un attribut de classes //contenues dans le package profilsdepostes private Vector formation_; //Traduit l ’ensemble des instances //« formation » qui composent la classe profilRecherche private Vector experience_; //Traduit l ’ensemble des instances //« experience » qui composent la classe profilRecherche private I_profileDePoste i_ProfileDePoste_; //Interface qui permettra d ’utiliser les services //du composant profilsdepostes public void initialiserProfilRecherche() {.......// corps de la méthode }
5
Implémentation des classes « parties » Les classes -parties seront implémentées par des classes java. Celles qui composent d ’autres classes-parties sont traduites par des attributs privés au sein de la classe-partie composite. Exemple avec la classe-partie « Poste». Public class Poste { private String descriptifDePoste_; //Attributs de classe private Long horaires_; //Attributs de classe private Lieu lieu_; //Traduit le lien entre la classe Lieu et la classe Poste private Salaire salaire_; //Traduit le lien entre la classe Salaire et la classe Poste private ContratDeTravail contratDeTravail_; //Traduit le lien entre la classe ContratDeTravail //et la classe Poste public void initialiserPosteOffre() {.......// corps de la méthode } iup MIAGe 3° année2000 - 2001 Projet MIAGe Toulouse – Groupe 25
6
Implémentation des classes « Maîtres » (1/2) Les classes-parties qui composent la classe « Maître » seront traduites par des attributs privées au sein de cette dernière. Ces attributs sont principalement de deux types: type de la classe « partie » si l ’association avec la classe « maître » est de cardinalité de 1 type Vector de classe « partie » si l ’association avec la classe « maître » est de cardinalité supérieur à 1. Exemple: M_OffreEmploi la compilation de offreemploi.idl va générer entre autre le skeleton _I_OffreemploiImplBase.java Pour traduire le lien d ’implémentation entre la classe « maître » M_OffreEmploi et l ’interface I_OffreEmploi il faut faire hériter la classe « maître » du skeleton I_OffreemploiImplBase iup MIAGe 3° année2000 - 2001 Projet MIAGe Toulouse – Groupe 26
7
Implémentation des classes « Maîtres » (2/2) Public class M_OffreEmploi { private Poste poste_; //Traduit le lien entre la classe « maître » et la classe Poste private Vector profilRecherche_; //Traduit l ’ensemble des instances de la classe //« formation » liées à la classe « maître » private Long numero_; //Attributs de classe private String intitule_; //Attributs de classe public Long creerUnNouveauNumero() {......... } iup MIAGe 3° année2000 - 2001 Projet MIAGe Toulouse – Groupe 27
8
Le manager d’instance C’ est une classe qui a été identifiée lors de la phase de conception de l ’application. Son rôle principal est de gérer toutes les instances de la classe« maître » du composants auquel elle appartient. C ’est elle qui implémente l ’interface de son composant. Elle a comme attribut principal un vecteur contenant l ’ensemble des instances de la classe « maître » Exemple: MI_OffreEmploi public class MI_OffreEmploi extends offreemploi.I_OffreemploiImplBase { private Vector allInstances_; //Traduit l ’ensemble des instances de la classe //« maitre » liées à la classe manager d ’instance public void getAllInstances__() //Implémentation de toutes les méthodes de la classe interface du composant }
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.