Ajouts oubliés
This commit is contained in:
125
docs/2_Solution/2.1_Conception.md
Normal file
125
docs/2_Solution/2.1_Conception.md
Normal file
@@ -0,0 +1,125 @@
|
||||
# Modèle de conception
|
||||
|
||||
```plantuml
|
||||
hide circles
|
||||
|
||||
package Roles {
|
||||
hide methods
|
||||
hide attributes
|
||||
|
||||
class Admin
|
||||
class Mod
|
||||
class User
|
||||
class Guest
|
||||
}
|
||||
|
||||
Guest <|-- User
|
||||
User <|-- Mod
|
||||
Mod <|-- Admin
|
||||
|
||||
package Entities {
|
||||
hide methods
|
||||
|
||||
class Category {
|
||||
string Nom
|
||||
}
|
||||
|
||||
class Thread {
|
||||
string Titre
|
||||
bool EstÉpinglé
|
||||
bool EstArchivé
|
||||
}
|
||||
|
||||
class Post {
|
||||
string Contenu
|
||||
string ContenuModifié
|
||||
DateTime DateDePublication
|
||||
DateTime DateDeModification
|
||||
bool EstCachée
|
||||
}
|
||||
|
||||
class Account {
|
||||
string Pseudo
|
||||
string Courriel
|
||||
string Description
|
||||
string Signature
|
||||
string Rôle
|
||||
}
|
||||
}
|
||||
|
||||
Category "1" --o "*" Thread
|
||||
Thread "1" --o "1" Post : Original Post
|
||||
Thread "1" ---* "*" Post
|
||||
|
||||
Post "1" --* "*" Post : References
|
||||
Post "*" o-- "1" Account
|
||||
|
||||
package Views {
|
||||
hide methods
|
||||
hide attributes
|
||||
|
||||
class CategoryView
|
||||
class ThreadView
|
||||
class PostView
|
||||
class AccountView
|
||||
}
|
||||
|
||||
package Controllers {
|
||||
hide attributes
|
||||
|
||||
class CategoryController {
|
||||
Category[] AfficherCatégories()
|
||||
bool CréerCatégorie(string nom)
|
||||
bool ModifierNomCatégorie(Category cat, string nom)
|
||||
bool SupprimerCatégorie(Category cat)
|
||||
}
|
||||
|
||||
class ThreadController {
|
||||
Thread[] ListerFils()
|
||||
Thread AfficherFil(string title)
|
||||
bool CréerFil(string title, string content)
|
||||
bool RépondreAuFil(Thread thr, string content, Post[] ref)
|
||||
bool ÉpinglerFil(Thread thr)
|
||||
bool ArchiverFil(Thread thr)
|
||||
}
|
||||
|
||||
class PostController {
|
||||
bool CréerPublication(string content)
|
||||
bool ModifierPublication(Post pst, string content)
|
||||
bool CacherPublication(Post pst)
|
||||
}
|
||||
|
||||
class AccountController {
|
||||
Account AfficherCompte(string pseudo)
|
||||
bool CréerCompte(string pseudo, string email, string desc, string sign)
|
||||
bool ModifierDescription(Account acc, string desc)
|
||||
bool ModifierSignature(Account acc, string sign)
|
||||
bool ModifierRôle(Account acc, string role)
|
||||
bool BannirCompte(Account acc)
|
||||
}
|
||||
}
|
||||
|
||||
Guest --> CategoryView
|
||||
Guest --> ThreadView
|
||||
Guest --> PostView
|
||||
Guest --> AccountView
|
||||
|
||||
CategoryView --> CategoryController
|
||||
ThreadView --> ThreadController
|
||||
PostView --> PostController
|
||||
AccountView --> AccountController
|
||||
|
||||
CategoryController --> Category
|
||||
|
||||
ThreadController --> Thread
|
||||
ThreadController --> Post
|
||||
|
||||
PostController --> Post
|
||||
PostController --> Account
|
||||
|
||||
AccountController --> Account
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
Reference in New Issue
Block a user