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.
Web/Documents/Diagram/Analyse/Class/Social.txt

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