Diagramme de classe

Popup_qui_marche_pas
Anthony RICHARD 2 years ago
parent e034cf23c0
commit f82c2134b7

@ -1,14 +1,19 @@
@startuml @startuml
namespace Model #fad6a7{ hide circle
allowmixing
skinparam classBackgroundColor #f89f40
skinparam namespaceBackgroundColor #fcb773
namespace Model #fcb773{
class Game{ class Game{
/Name:string +/Name:string
/Description:string +/Description:string
/Lien:string +/Lien:string
/Cover:string +/Cover:string
/Year:int +/Year:int
/Average:float +/Average:float
/Tags:ObservableCollection<string> +/Tags:ObservableCollection<string>
+Game(name:string, description:string, year:int, c_tags:List<string>, cover:string, c_lien:string):void +Game(name:string, description:string, year:int, c_tags:List<string>, cover:string, c_lien:string):void
+GetHashCode():int +GetHashCode():int
@ -25,12 +30,13 @@ namespace Model #fad6a7{
} }
class User{ class User{
/Username:string +/Username:string
/Biographie:string +/Biographie:string
/Email:string +/Email:string
/Password:string +/Password:string
+/UserImage:string
+User(username:string, biographie:string, email:string, password:string):void +User(userImage:string, username:string, biographie:string, email:string, password:string):void
+AddReview(game:Game, rate:float, text:string):void +AddReview(game:Game, rate:float, text:string):void
+RemoveSelfReview(game:Game, rate:float, text:string):void +RemoveSelfReview(game:Game, rate:float, text:string):void
+FollowAGame(game:Game):void +FollowAGame(game:Game):void
@ -38,62 +44,60 @@ namespace Model #fad6a7{
} }
class Review{ class Review{
/Rate:float +/Rate:float
/Text:string +/Text:string
/AuthorName:string +/AuthorName:string
+ToString():string +ToString():string
+EditReview(text:string):void +EditReview(text:string):void
+EditRate(newVal:float):void +EditRate(newVal:float):void
} }
class Manager{ class Manager{
+GameList:ObservableCollection +Mgrpersistance:IPersistance
+Manager(persistance:IPersistance) +Manager(persistance:IPersistance)
+AddGametoGamesList(game:Game):void
+RemoveGameFromGamesList(game:Game):void
+SaveGames():void
} }
class Ipersistance{ class IPersistance{
{abstract}SaveGame(games:ObservableCollection<Game>):void {abstract}SaveGame(games:ObservableCollection<Game>):void
{abstract}SaveUser(users:List<User>):void {abstract}SaveUser(users:List<User>):void
{abstract}LoadGame():ObservableCollection<Game> {abstract}LoadGame():ObservableCollection<Game>
{abstract}LoadUser():List<User> {abstract}LoadUser():List<User>
} }
Game "/Reviews:List<Review>" *-- Review Game *- Review: "+/Reviews:List<Review>"
User "/FollowedGames:List<Game>" o-- Game User o- Game: "+/FollowedGames:ObservableCollection<Game>"
Manager "/Mgrpersistance:IPersistance" *-- IPersistance Manager *-- IPersistance: "+/Mgrpersistance:IPersistance"
Manager *-- Game: "+/GameList:ObservableCollection<Game>"
Manager o-- Game: "+/ReserchedGame:ObservableCollection<Game>"
Manager o-- User: "+/CurrentUser:User"
} }
namespace StimPersistance #fcb773{
class Persistance{
+Persistance(chemin:string):void
+SaveGame(games:ObservableCollection<Game>):void
+SaveUser(users:List<User>):void
+LoadGame():ObservableCollection<Game>
+LoadUser():List<User>
}
Persistance <|-- Model.IPersistance
}
namespace StimStub #fcb773{
class Stub{
+Stub(chemin:string):void
+SaveGame(games:ObservableCollection<Game>):void
+SaveUser(users:List<User>):void
+LoadGame():ObservableCollection<Game>
+LoadUser():List<User>
}
Stub o-- Model.Game: "+/Games:ObservableCollection<Game>"
Stub <|- Model.IPersistance
}
@enduml @enduml
Loading…
Cancel
Save