done_all

Application des principes

Single Responsibility

Vues JavaFX (GameScreen, LocalMazeView) dédiées au rendu; contrôleurs (DefaultGameController) dédiés à la logique; générateurs dédiés à la génération.

Open/Closed

MazeGeneratorStrategy + Factory permettent d’ajouter des générateurs sans modifier le code existant.

Liskov

StandardGame/ParentGame/MemoryGame substituables via l’interface Game; contrôleur manipule Game abstrait.

Interface Segregation

Interfaces fines: KeyController, GameObserver, GameSessionContext pour limiter les dépendances.

Dependency Inversion

DefaultGameController dépend de MazeBuilder/GameSessionContext abstraits au lieu de singletons concrets.