2 Test conception
Nicolas BLONDEAU edited this page 2 years ago
@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>)
}

class Manager {
 + addUser(user : User) : void
 + removeUser(user : User) : void
 + saveUsers() : int
 + loadUsers() : int

 + saveMonsters() : int
 + loadMonsters() : int
 + Manager(dataMngr : IDataManager)
}

interface IDataManager {
 + writeUsers( users : List<User> ) : void
 + readUsers() : List<User>
 + writeMonsters( monstres : List<Monstre> ) : void
 + readMonsters() : List<Monstre>
}

class Monstre {
 + Id { get; set; } : int
 + Name { get; set; } : string
 + Description { get; set; } : string
 + CharacteristicsList { get; set; } : List<string>
 + AppearanceList { get; set; } : List<string>
 + Monstre( id : int, name : string, desc : string, characList : List<string>, appearList : List<string>)
}

class DataContract_XML {
 + writeUsers( users : List<User> ) : void
 + readUsers() : List<User>
 + writeMonsters( monstres : List<Monstre> ) : void
 + readMonsters() : List<Monstre>
}

class DataContract_json {
 + writeUsers( users : List<User> ) : void
 + readUsers() : List<User>
 + writeMonsters( monstres : List<Monstre> ) : void
 + readMonsters() : List<Monstre>
}

class Stub {
 + readUsers() : List<User>
 + readMonsters() : List<Monstre>
}


Monstre <-- Manager : *+ Monstres : List<Monstre>
User <-- Manager : *+ Users : List<User>
IDataManager <-- Manager : +/Pers
IDataManager <|.. DataContract_XML
IDataManager <|.. DataContract_json
IDataManager <|.. Stub
User <.. Stub
Monstre <.. Stub

@enduml
@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>)
}

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 Monstre {
 + Id { get; set; } : int
 + Name { get; set; } : string
 + Description { get; set; } : string
 + CharacteristicsList { get; set; } : List<string>
 + AppearanceList { get; set; } : List<string>
 + Monstre( id : int, name : string, desc : string, characList : List<string>, appearList : List<string>)
}

class DataContract_XML {
 + writeUsers( users : List<User> ) : void
 + readUsers() : List<User>
 + writeMonsters( monstres : List<Monstre> ) : void
 + readMonsters() : List<Monstre>
}

class DataContract_json {
 + writeUsers( users : List<User> ) : void
 + readUsers() : List<User>
 + writeMonsters( monstres : List<Monstre> ) : void
 + readMonsters() : List<Monstre>
}

class Stub {
 + readUsers() : List<User>
 + readMonsters() : List<Monstre>
}


Monstre <-- MonsterManager : *+ Monstres : List<Monstre>
User <-- UserManager : *+ Users : List<User>

IUserDataManager <-- UserManager : +/UserPers
IUserDataManager <|.. DataContract_XML
IUserDataManager <|.. DataContract_json
IUserDataManager <|.. Stub

IMonsterDataManager <-- MonsterManager : +/MonsterPers
IMonsterDataManager <|.. DataContract_XML
IMonsterDataManager <|.. DataContract_json
IMonsterDataManager <|.. Stub

User <.. Stub
Monstre <.. Stub

@enduml