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 13:25] blay [Réutilisation par adaptation] |
2017_2018:s3:concprogobjet:td:td6 [2017/11/12 19:11] blay [Réutilisation par composition et héritage] |
||
---|---|---|---|
Line 45: | Line 45: | ||
- Vous devez construire un réseau social dont les spécifications sont les suivantes (cf. Interface //SocialNetworkInterface//): | - 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 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! | ||
* On veut pouvoir savoir quels sont les membres en relation avec un membre au rang X : exemple : a -> b -> c -> a : a est en relation avec b au rang 1; a est en relation avec c au rang 2; c est relation avec a au rang 1; etc. (Méthode : ''relateToRank(MemberInterface member, int rank)'') | * On veut pouvoir savoir quels sont les membres en relation avec un membre au rang X : exemple : a -> b -> c -> a : a est en relation avec b au rang 1; a est en relation avec c au rang 2; c est relation avec a au rang 1; etc. (Méthode : ''relateToRank(MemberInterface member, int rank)'') | ||
Line 83: | Line 83: | ||
===== Réutilisation par observation ===== | ===== Réutilisation par observation ===== | ||
- | Chaque fois qu'une nouvelle relation est ajoutée dans FG, on vérifie si les "users" mis en relation existent dans notre réseau et si c'est le cas on crée les relations correspondantes dans notre réseau. | + | Le réseau FG évolue. De nouvelles relations sont régulièrement créées et notre propre réseau peut alors devenir obsolète si les membres impliqués font partie de notre réseau et que nous n'enregistrons pas ces changements de relations. Mais bien sûr, il est impossible de modifier les codes du réseau FG.... |
+ | |||
+ | Heureusement, le réseau FG est observable. On peut donc demander à être notifiés des modifications du réseau FG! | ||
+ | Chaque fois qu'une nouvelle relation est ajoutée dans FG on veut vérifier si les "users" mis en relation existent dans notre réseau et si c'est le cas on crée les relations correspondantes dans notre réseau. | ||
- | Pour cela nous utilisons le fait qu'un réseau FG est observable. Il suffit donc de déclarer notre réseau comme Observer du réseau FG et à chaque notification d'ajout d'une relation, de mettre à jour notre propre réseau. | + | Il suffit donc de déclarer notre réseau comme Observer du réseau FG et à chaque notification d'ajout d'une relation, de mettre à jour notre propre réseau si c'est nécessaire. |
<html> | <html> |