By: Evan Boissonnot
14 janvier 2023
Commençons cette aventure des Design Patterns avec l’un des patterns les plus connus : le Singleton.
OĂč comment ne renvoyer qu’une seule instance d’une classe, quelque soit le nombre d’appels;
Autrement dit : comment pouvoir limiter le nombre de new Ă un seul ?.
Dans notre jeu, nous souhaitons mettre en place une classe qui gĂšre des variables globales, accessibles dans tout notre jeu :
- la partie en cours
- le joueur / la joueuse
- âŠ
Il ne faut quâune seule instance de cette classe, qui va ĂȘtre appelĂ©e : GameMotor.
internal sealed class GameMotor
{
private Game currentGame;
private static readonly GameMotor _instance = new GameMotor();
private GameMotor() { }
public static GameMotor Instance => _instance;
public Game StartNewGame()
{
this.currentGame = new Game();
return this.currentGame;
}
}
// Singleton
GameMotor motor = GameMotor.Instance;
motor.StartNewGame();
Yes, ça attire ta curiosité ?