You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
901 B
56 lines
901 B
@startuml
|
|
class User {
|
|
name : string
|
|
}
|
|
|
|
User --> "*" User: listAmis
|
|
User --> "*" notification : lesNotif
|
|
User --> "*" ask : demandeDamis
|
|
class notification {
|
|
text : string
|
|
}
|
|
|
|
interface INotifier {
|
|
notify : void
|
|
}
|
|
INotifier --|> Observer
|
|
abstract UserManager {
|
|
currentUser : User
|
|
createUser (...data)
|
|
getUser(): User
|
|
deleteFriends(user1 : int, user2 :int) : void
|
|
addFriends(user:id): void
|
|
repondreDemandeAmis(idask : Ask,choice: bool)
|
|
getFriends(user: id)
|
|
}
|
|
|
|
class ask {
|
|
fromUser : int
|
|
toUser : int
|
|
}
|
|
|
|
|
|
ask --|> Subject
|
|
|
|
abstract Subject {
|
|
+ attatch(o : Observer): void
|
|
+ detach(o : Observer): void
|
|
+ notify(): void
|
|
}
|
|
Subject --> "*" Observer
|
|
interface Observer {
|
|
update(): void
|
|
}
|
|
|
|
UserManager ..> User
|
|
UserManager o-- IUserRepository
|
|
UserManager o-- INotifier
|
|
|
|
interface IUserRepository {
|
|
+ findByUsername(username:string): User
|
|
+ addUser(user : User) : bool
|
|
}
|
|
IUserRepository ..> User
|
|
@enduml
|
|
|