Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ Python-ში singleton-ის ნიმუშის განხორციელების პრინციპი და მისი ძირითადი მახასიათებლები?

sobes.tech AI

პასუხი AI-სგან

Python-да singleton үлгісе, программа бойы бер генә класс үрнәге барлығын тәэмин итү өчен эшләнә.

Иң гади ысулларның берсе — класс белән приват үрнәк атрибуты һәм бу бердәнбер үрнәкне кайтаручы метод куллану:

class Singleton:
    _instance = None

    def __new__(cls, *args, **kwargs):
        if not cls._instance:
            cls._instance = super().__new__(cls)
        return cls._instance

# Куллану
s1 = Singleton()
s2 = Singleton()
print(s1 is s2)  # True

Үзенчәлекләр:

  • Pythonда үрнәкләр ясауны чикләүче встроенный механизм юк, шуңа күрә singleton кулдан эшләнә.
  • new методы куллану объект ясауга контроль мөмкинлеге бирә.
  • Singleton глобаль хәлен идарә итү өчен файдалы, мәсәлән, конфигурацияләр яки мәгълүмат базасы тоташулары өчен.
  • Искәрмә: singleton-ны артык куллану тестлау һәм кодны тотрыклы итүдә проблемалар тудырырга мөмкин.