|
|
|
@ -1,14 +1,19 @@
|
|
|
|
|
@startuml
|
|
|
|
|
|
|
|
|
|
namespace Model #fad6a7{
|
|
|
|
|
hide circle
|
|
|
|
|
allowmixing
|
|
|
|
|
skinparam classBackgroundColor #f89f40
|
|
|
|
|
skinparam namespaceBackgroundColor #fcb773
|
|
|
|
|
|
|
|
|
|
namespace Model #fcb773{
|
|
|
|
|
class Game{
|
|
|
|
|
/Name:string
|
|
|
|
|
/Description:string
|
|
|
|
|
/Lien:string
|
|
|
|
|
/Cover:string
|
|
|
|
|
/Year:int
|
|
|
|
|
/Average:float
|
|
|
|
|
/Tags:ObservableCollection<string>
|
|
|
|
|
+/Name:string
|
|
|
|
|
+/Description:string
|
|
|
|
|
+/Lien:string
|
|
|
|
|
+/Cover:string
|
|
|
|
|
+/Year:int
|
|
|
|
|
+/Average:float
|
|
|
|
|
+/Tags:ObservableCollection<string>
|
|
|
|
|
|
|
|
|
|
+Game(name:string, description:string, year:int, c_tags:List<string>, cover:string, c_lien:string):void
|
|
|
|
|
+GetHashCode():int
|
|
|
|
@ -25,12 +30,13 @@ namespace Model #fad6a7{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class User{
|
|
|
|
|
/Username:string
|
|
|
|
|
/Biographie:string
|
|
|
|
|
/Email:string
|
|
|
|
|
/Password:string
|
|
|
|
|
+/Username:string
|
|
|
|
|
+/Biographie:string
|
|
|
|
|
+/Email: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
|
|
|
|
|
+RemoveSelfReview(game:Game, rate:float, text:string):void
|
|
|
|
|
+FollowAGame(game:Game):void
|
|
|
|
@ -38,62 +44,60 @@ namespace Model #fad6a7{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Review{
|
|
|
|
|
/Rate:float
|
|
|
|
|
/Text:string
|
|
|
|
|
/AuthorName:string
|
|
|
|
|
+/Rate:float
|
|
|
|
|
+/Text:string
|
|
|
|
|
+/AuthorName:string
|
|
|
|
|
+ToString():string
|
|
|
|
|
+EditReview(text:string):void
|
|
|
|
|
+EditRate(newVal:float):void
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Manager{
|
|
|
|
|
+GameList:ObservableCollection
|
|
|
|
|
+Mgrpersistance: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}SaveUser(users:List<User>):void
|
|
|
|
|
{abstract}LoadGame():ObservableCollection<Game>
|
|
|
|
|
{abstract}LoadUser():List<User>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Game "/Reviews:List<Review>" *-- Review
|
|
|
|
|
User "/FollowedGames:List<Game>" o-- Game
|
|
|
|
|
Manager "/Mgrpersistance:IPersistance" *-- IPersistance
|
|
|
|
|
Game *- Review: "+/Reviews:List<Review>"
|
|
|
|
|
User o- Game: "+/FollowedGames:ObservableCollection<Game>"
|
|
|
|
|
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
|