diff --git a/Correction/ReadMe.md b/Correction/ReadMe.md index d732a06..3fe514a 100644 --- a/Correction/ReadMe.md +++ b/Correction/ReadMe.md @@ -14,6 +14,49 @@ L’objectif principal est d’obtenir un code **maintenable**, **testable** et * Favoriser la **testabilité** * É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) @@ -250,51 +293,4 @@ Pattern comportemental qui encapsule des comportements interchangeables derrièr ### Clean Architecture -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 -``` \ No newline at end of file +Approche architecturale séparant le domaine métier des détails techniques. \ No newline at end of file