From 0a898da100a1a1aa588a2225462ae99929b3c316 Mon Sep 17 00:00:00 2001 From: Paul LEVRAULT Date: Sat, 25 Nov 2023 17:14:25 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'Conception'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Conception.md | 59 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 16 deletions(-) diff --git a/Conception.md b/Conception.md index 2d4d82e..274b778 100644 --- a/Conception.md +++ b/Conception.md @@ -97,32 +97,59 @@ v-->u: Display Updated Friends ``` ### Diagramme de classe pour l'ajout d'amis ```plantuml -Class UserController{ -renderView() -searchFriend() -addFriend() +class User { + + name : string } -UserController ..> UserManager +User "1" --> "*" User: friends +User "1" --> "*" Notification: notifications +User "1" --> "*" Ask: friendRequests +class Notification { + - text : string +} -Class UserManager{ -getUserById() : User[] -getUsersByName() : User[] -getUserByName() : User[] +interface INotifier { + + notify() : void } -UserManager ..> User +INotifier --|> Observer + +abstract class UserManager { + - currentUser : User + + deleteFriend(userId : int) : void + + addFriend(userId : int) : void + + respondToFriendRequest(requestId : int, choice : bool) : void + + getFriends(userId : int) : User[] +} + +class Ask { + - fromUser : int + - toUser : int +} + +Ask --|> Subject + +abstract class Subject { + + attach(o : Observer) : void + + detach(o : Observer) : void + + notify() : void +} -Class User{ -+ friendList : User[] -addFriend(User) +Subject "1" --> "*" Observer +interface Observer { + + update() : void } -User ..> Notifier +UserManager ..> User +UserManager o-- IUserRepository +UserManager o-- INotifier -Class Notifier{ -notifier(userId) +interface IUserRepository { + + findByUsername(username : string) : User + + addUser(user : User) : bool } + +IUserRepository ..> User ``` ## User story : Gestion des activités et données ### Cas d'utilisation pour la gestion des activités et données