12
Diagramme_de_classes
Nicolas BLONDEAU edited this page 2 years ago
Diagramme de classe
@startuml
class User {
+ Pseudo { get; private set; } : string
- Nom { get; private set; } : string
- Prenom { get; private set; } : string
- Mdp { get; set; } : string
- monstresDejaVu { get; private set; } : List<Monstre>
+ User( pseudo : string, nom : string, prenom : string, mdp : string, monstresVus : List<Monstre>)
+ verifyPssw( pssw : string ) : bool
}
class Monstre {
+ Id { get; set; } : int
+ Name { get; set; } : string
+ Dangerosite {get; private init; } : string
+ Description { get; set; } : string
+ CharacteristicsList { get; init; } : List<string>
+ AppearanceList { get; init; } : List<string>
+ ImageLink { get; init ; } : string
+ ListConseils { get; set; } : ObservableCollection<Conseil>
+ Monstre( id : int, name : string, desc : string, characList : List<string>, appearList : List<string>)
+ ToString() : string
+ Equals(object? obj) : bool
+ GetHashCode() : int
}
class Conseil {
+ idConseil : int { get; }
+ auteur : string { get; }
+ texte : string { get; private set; }
+ monstre : Monstre { get; set; }
+ Conseil( auteur : User, texte : string, leMonstre : Monstre )
+ affichConseil() : void
}
class UserManager {
+ addUser(user : User) : void
+ removeUser(user : User) : void
+ saveUsers() : int
+ loadUsers() : int
+ UserManager(dMngr : IUserDataManager)
}
class MonsterManager {
+ saveMonsters() : int
+ loadMonsters() : int
+ MonsterManager(dMngr : IMonsterDataManager)
}
interface IUserDataManager {
+ writeUsers( users : List<User> ) : void
+ readUsers() : List<User>
}
interface IMonsterDataManager {
+ writeMonsters( monstres : List<Monstre> ) : void
+ readMonsters() : List<Monstre>
}
class LoaderXML {
+ writeUsers( users : List<User> ) : void
+ readUsers() : List<User>
+ writeMonsters( monstres : List<Monstre> ) : void
+ readMonsters() : List<Monstre>
}
class LoaderJSON {
+ writeUsers( users : List<User> ) : void
+ readUsers() : List<User>
+ writeMonsters( monstres : List<Monstre> ) : void
+ readMonsters() : List<Monstre>
}
class LoaderStub {
+ readUsers() : List<User>
+ readMonsters() : List<Monstre>
}
Monstre <-- MonsterManager : *+ Monstres : List<Monstre>
User <-- UserManager : *+ Users : List<User>
IUserDataManager <-- UserManager : +/UserPers
IUserDataManager <|.. LoaderXML
IUserDataManager <|.. LoaderJSON
IUserDataManager <|.. LoaderStub
IMonsterDataManager <-- MonsterManager : +/MonsterPers
IMonsterDataManager <|.. LoaderXML
IMonsterDataManager <|.. LoaderJSON
IMonsterDataManager <|.. LoaderStub
User <.. Stub
Monstre <.. Stub
Conseil <-- User : * listConseils : List<Conseil>
Monstre <-- User : * monstresDejaVu : List<Monstre>
@enduml