Actualiser Correction/ReadMe.md
This commit is contained in:
@@ -14,6 +14,49 @@ L’objectif principal est d’obtenir un code **maintenable**, **testable** et
|
|||||||
* Favoriser la **testabilité**
|
* Favoriser la **testabilité**
|
||||||
* Éviter le couplage fort et le code rigide
|
* Éviter le couplage fort et le code rigide
|
||||||
|
|
||||||
|
```
|
||||||
|
MiniJeuxFinal/
|
||||||
|
│
|
||||||
|
├── MiniJeuxFinal.csproj # Fichier projet C# .NET 9
|
||||||
|
│
|
||||||
|
├── Program.cs # Point d'entrée de l'application
|
||||||
|
│
|
||||||
|
├── GameFactory/
|
||||||
|
│ └── PierrePapierCiseauxGameFactory.cs # Création du jeu
|
||||||
|
│
|
||||||
|
├── Games/
|
||||||
|
│ ├── IGame.cs # Interface générale d'un jeu
|
||||||
|
│ ├── IAction.cs # Interface générale d'une action
|
||||||
|
│ ├── IPlayer.cs # Interface générale d'un joueur
|
||||||
|
│ │
|
||||||
|
│ ├── PierrePapierCiseaux/ # Implémentation spécifique du jeu PPC
|
||||||
|
│ │ ├── PierrePapierCiseauxGame.cs # Classe principale du jeu PPC
|
||||||
|
│ │ │
|
||||||
|
│ │ ├── Actions/ # Actions spécifiques au PPC
|
||||||
|
│ │ │ ├── IActionPpc.cs # Interface spécialisée (hérite de IAction)
|
||||||
|
│ │ │ ├── StoneAction.cs # Pierre
|
||||||
|
│ │ │ ├── PaperAction.cs # Papier
|
||||||
|
│ │ │ └── ScissorsAction.cs # Ciseaux
|
||||||
|
│ │ │
|
||||||
|
│ │ ├── Factories/ # Factories pour créer les actions PPC
|
||||||
|
│ │ │ ├── IActionPpcFactory.cs # Interface des factories PPC
|
||||||
|
│ │ │ ├── InputActionFactory.cs # Factory pour l'entrée utilisateur
|
||||||
|
│ │ │ └── RandomActionFactory.cs# Factory aléatoire (IA)
|
||||||
|
│ │ │
|
||||||
|
│ │ └── Players/
|
||||||
|
│ │ └── PlayerPpc.cs # Joueur spécialisé pour le PPC
|
||||||
|
│ │
|
||||||
|
│ └── Trash/ # Anciennes versions ou brouillons
|
||||||
|
│ ├── Pendu.cs
|
||||||
|
│ └── Ppc.cs
|
||||||
|
│
|
||||||
|
├── Ui/
|
||||||
|
│ └── GameRunnerConsole.cs # Orchestrateur UI Console (affichage)
|
||||||
|
│
|
||||||
|
├── Wrappers/ # Abstractions des dépendances externes
|
||||||
|
│ ├── IConsole.cs # Interface pour la console
|
||||||
|
│ └── ConsoleService.cs # Implémentation réelle de IConsole
|
||||||
|
```
|
||||||
|
|
||||||
## 🧩 Architecture Hexagonale (Ports & Adapters)
|
## 🧩 Architecture Hexagonale (Ports & Adapters)
|
||||||
|
|
||||||
@@ -250,51 +293,4 @@ Pattern comportemental qui encapsule des comportements interchangeables derrièr
|
|||||||
|
|
||||||
### Clean Architecture
|
### Clean Architecture
|
||||||
|
|
||||||
Approche architecturale séparant le domaine métier des détails techniques.
|
Approche architecturale séparant le domaine métier des détails techniques.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
```
|
|
||||||
MiniJeuxFinal/
|
|
||||||
│
|
|
||||||
├── MiniJeuxFinal.csproj # Fichier projet C# .NET 9
|
|
||||||
│
|
|
||||||
├── Program.cs # Point d'entrée de l'application
|
|
||||||
│
|
|
||||||
├── GameFactory/
|
|
||||||
│ └── PierrePapierCiseauxGameFactory.cs # Création du jeu
|
|
||||||
│
|
|
||||||
├── Games/
|
|
||||||
│ ├── IGame.cs # Interface générale d'un jeu
|
|
||||||
│ ├── IAction.cs # Interface générale d'une action
|
|
||||||
│ ├── IPlayer.cs # Interface générale d'un joueur
|
|
||||||
│ │
|
|
||||||
│ ├── PierrePapierCiseaux/ # Implémentation spécifique du jeu PPC
|
|
||||||
│ │ ├── PierrePapierCiseauxGame.cs # Classe principale du jeu PPC
|
|
||||||
│ │ │
|
|
||||||
│ │ ├── Actions/ # Actions spécifiques au PPC
|
|
||||||
│ │ │ ├── IActionPpc.cs # Interface spécialisée (hérite de IAction)
|
|
||||||
│ │ │ ├── StoneAction.cs # Pierre
|
|
||||||
│ │ │ ├── PaperAction.cs # Papier
|
|
||||||
│ │ │ └── ScissorsAction.cs # Ciseaux
|
|
||||||
│ │ │
|
|
||||||
│ │ ├── Factories/ # Factories pour créer les actions PPC
|
|
||||||
│ │ │ ├── IActionPpcFactory.cs # Interface des factories PPC
|
|
||||||
│ │ │ ├── InputActionFactory.cs # Factory pour l'entrée utilisateur
|
|
||||||
│ │ │ └── RandomActionFactory.cs# Factory aléatoire (IA)
|
|
||||||
│ │ │
|
|
||||||
│ │ └── Players/
|
|
||||||
│ │ └── PlayerPpc.cs # Joueur spécialisé pour le PPC
|
|
||||||
│ │
|
|
||||||
│ └── Trash/ # Anciennes versions ou brouillons
|
|
||||||
│ ├── Pendu.cs
|
|
||||||
│ └── Ppc.cs
|
|
||||||
│
|
|
||||||
├── Ui/
|
|
||||||
│ └── GameRunnerConsole.cs # Orchestrateur UI Console (affichage)
|
|
||||||
│
|
|
||||||
├── Wrappers/ # Abstractions des dépendances externes
|
|
||||||
│ ├── IConsole.cs # Interface pour la console
|
|
||||||
│ └── ConsoleService.cs # Implémentation réelle de IConsole
|
|
||||||
```
|
|
||||||
Reference in New Issue
Block a user