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/Diagramme/Analyse/Class/package/models.plantuml

65 lines
1.3 KiB

@startuml
package "Models" {
class "Athlete" {
+ ID_Athlete : int
+ Name : string
+ Email : string
+ Password : string
+ PublicProfile : text
+ WeightHistory : string
+ Goals : text
+registerObserver()
+removeObserver()
+notifyObservers()
}
abstract class DataManager{
}
class StubManager extends DataManager{
}
class PlainManager extends DataManager{
}
interface GenericDataManager {
+getItems() : List<T>
+getItemById(id: Int) : T
}
class AthleteManager implements GenericDataManager{
+getItemsByName(substring: String) : List<Team>
}
class ActivityManager implements GenericDataManager{
+getItemsByName(substring: String) : List<Team>
}
}
package "Services" {
class "AthleteService" {
+createAthlete()
+updateProfile()
}
class "AuthService" {
+login()
+register()
+signInWithGoogle()
+signOut()
}
interface "NotificationStrategy" {
+sendNotification()
}
}
DataManager --> "-activityMgr" ActivityManager
DataManager --> "-activityMgr" ActivityManager
DataManager --> "-athleteMgr" AthleteManager
DataManager --> "+UserCurrent" Athlete
@enduml
@enduml