This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
2017_2018:s3:concprogobjet:td:td6 [2017/11/12 09:09] blay [Présentation générale] |
2017_2018:s3:concprogobjet:td:td6 [2017/11/12 10:03] blay [Réutilisation par adaptation] |
||
---|---|---|---|
Line 22: | Line 22: | ||
Faire passer le test avec un code propre et sans le modifier si ce n'est la référence à la classe "//SocialNetwork//" qui implémente //SocialNetworkInterface//. | Faire passer le test avec un code propre et sans le modifier si ce n'est la référence à la classe "//SocialNetwork//" qui implémente //SocialNetworkInterface//. | ||
- | Voici les archives : //(Tips : Prenez chaque archive, déposer la sous Eclipse, dezippé, refresh)// | + | Voici les archives : //((Tips : Prenez chaque archive, déposer la sous Eclipse, dezipper, refresh))// |
- les {{:2016_2017:s3:concprogobjet:td:graphex.zip|classes de base de gestion des graphes}} | - les {{:2016_2017:s3:concprogobjet:td:graphex.zip|classes de base de gestion des graphes}} | ||
- | - {{:2016_2017:s3:concprogobjet:td:graphesimple.zip| les classes de gestion des graphes simples }}, | + | - {{:2016_2017:s3:concprogobjet:td:graphesimple.zip| les classes de gestion des graphes simples }}(Regardez bien **ces classes** et construisez rapidement à la main le modèle de classe correspondant), |
- | - une {{:2016_2017:s3:concprogobjet:td:graphesimpletest.zip|classe de tests sur les graphes.}}, | + | - une {{:2016_2017:s3:concprogobjet:td:graphesimpletest.zip|classe de tests sur les graphes.}} (pensez à la mettre dans un source folder dédié aux tests; Fixer le setup en ajoutant JUnit; exécutez les tests) |
- | - {{:2016_2017:s3:concprogobjet:td:reseausocialtests.zip|contenant la classe de test}} | + | |
- | - {{:2016_2017:s3:concprogobjet:td:reseausocial.zip|les interfaces à implémenter pour faire passer les tests, }} | + | |
- {{:2016_2017:s3:concprogobjet:td:facebookghost.zip|les classes définissant le réseau Facebookghost,}} | - {{:2016_2017:s3:concprogobjet:td:facebookghost.zip|les classes définissant le réseau Facebookghost,}} | ||
+ | - {{:2016_2017:s3:concprogobjet:td:reseausocial.zip|les interfaces à implémenter pour faire passer les tests, }} | ||
+ | - {{:2016_2017:s3:concprogobjet:td:reseausocialtests.zip|la classe de test}} (A bien mettre sous tests; elle ne compile pas puisque VOUS devez implémenter les classes manquantes). | ||
+ | |||
+ | |||
**Vous n'avez que deux interfaces à implémenter : ''SocialNetworkInterface'' et ''MemberInterface''. | **Vous n'avez que deux interfaces à implémenter : ''SocialNetworkInterface'' et ''MemberInterface''. | ||
Line 42: | Line 44: | ||
===== Réutilisation par composition et héritage ===== | ===== Réutilisation par composition et héritage ===== | ||
- | - Construire un réseau social : | + | - Vous devez construire un réseau social dont les spécifications sont les suivantes (cf. Interface //SocialNetworkInterface//): |
* un membre a un nom, un age et une description; | * un membre a un nom, un age et une description; | ||
* Un membre a est en relation avec membre b avec une force entre 1 et 5 : 5 faible, 1 très forte. a peut se considérer en relation avec b à la force 1 et b ne pas se considérer en relation avec a! | * Un membre a est en relation avec membre b avec une force entre 1 et 5 : 5 faible, 1 très forte. a peut se considérer en relation avec b à la force 1 et b ne pas se considérer en relation avec a! | ||
Line 64: | Line 66: | ||
{{ :2015_2016:s3:concprogobjet:td:graphex.jpg?link&300 |}} | {{ :2015_2016:s3:concprogobjet:td:graphex.jpg?link&300 |}} | ||
+ | <note warning>Cette partie du TD doit être terminée lors de la 1e séance. Si ce n'est pas le cas, vous devez travailler en dehors des heures du TD.</note> | ||
===== Réutilisation par adaptation ===== | ===== Réutilisation par adaptation ===== | ||
- | - On veut intégrer dans notre réseau social, des membres du réseau ''facebookGhost'' dont vous avez déjà récupéré un "bouchon/proxy" en récupérant les tests. | + | - On veut intégrer dans notre réseau social, des membres du réseau ''facebookGhost'' dont vous avez déjà récupéré un "bouchon/proxy" en récupérant les tests. |
+ | - INFO : Les classes du package //facebookGhost// s'inspirent très fortement de l'interface fournie par Facebook. En cela, elle se comporte comme un "proxy" simplifié qui pourrait être remplacé par le véritable reseau Facebook à terme((Pour cela, il faudrait quand même mettre à jour ce code avec les dernières évolutions de l'interface et le compléter... donc il reste "un peu" de travail)). ). | ||
* on veut ajouter dans notre réseau des membres qui correspondent à des "users" du reseau facebookGhost (FG); le nom du "user" dans le reseau facebookGhost (name) devient le nom du membre dans notre réseau (nom) et on garde la référence sur le "User" pour avoir toujours une description à jour qui correspond au profil; | * on veut ajouter dans notre réseau des membres qui correspondent à des "users" du reseau facebookGhost (FG); le nom du "user" dans le reseau facebookGhost (name) devient le nom du membre dans notre réseau (nom) et on garde la référence sur le "User" pour avoir toujours une description à jour qui correspond au profil; | ||
* on veut "récupérer" dans notre réseau, les relations qui correspondent soit à des relations familiales, soit à des relations d'amitiés dans le réseau FG lorsque les Users ciblés sont connus de notre réseau, c'est à dire que nous avons déjà un membre de même nom. Par défaut, une relation de famille correspond à une relation de force 2 dans notre réseau et celle d'amitié ont une force 3. | * on veut "récupérer" dans notre réseau, les relations qui correspondent soit à des relations familiales, soit à des relations d'amitiés dans le réseau FG lorsque les Users ciblés sont connus de notre réseau, c'est à dire que nous avons déjà un membre de même nom. Par défaut, une relation de famille correspond à une relation de force 2 dans notre réseau et celle d'amitié ont une force 3. |