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-ны артык куллану тестлау һәм кодны тотрыклы итүдә проблемалар тудырырга мөмкин.