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.
65 lines
1.3 KiB
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
|