Sommaire

Singleton

L’utilisation de variables globales est une pratique à éviter dans la majorité des cas : elles polluent l’espace de noms global, elles occupent des ressources tout le long de la vie du programme, elles sont difficiles à contrôler puisque tout le monde peut y avoir accès. Cependant, dans certains cas précis, il est beaucoup plus commode de pouvoir accéder à des informations de façon globale plutôt que de les transférer d’objet en objet.

class Toulouse:  
  
    def __init__(self, sol):  
        self.sol = sol  
  
    def meteo(self):  
        if (self.sol):  
            return "Ensoleillé"  
        return "Nuageux"  
  
class France:  
  
    def __init__(self, sol):  
        self.sol = sol  
        self.villes = [Toulouse(sol)]  
  
class Europe:  
  
    def __init__(self, sol):  
        self.sol = sol  
        self.pays = [France(sol)]  
  
class Terre:  
  
    def __init__(self, sol):  
        self.sol = sol  
        self.continents = [Europe(sol)]  
  
class SystemeSolaire:  
  
    def __init__(self, sol):  
       ...