Biorąc pod uwagę klasę Python, która zostanie utworzona tylko raz, tzn. Będzie tylko jeden obiekt klasy. Zastanawiałem się, w jakich przypadkach sensowne jest utworzenie instancji pojedynczej klasy zamiast pracy bezpośrednio z klasą.
Jest podobne pytanie , ale koncentruje się na innym:
- chodzi o grupowanie zmiennych globalnych i funkcji w klasę i
- Nie jest on specyficzny dla Pythona. To ostatnie oznacza, że nie uwzględnia faktu, że klasy (w języku Python) są również obiektami.
AKTUALIZACJA:
W Pythonie mogę wykonywać następujące czynności zarówno z klasami, jak i obiektami:
class A(object):
pass
A.some_state_var = True
# Then later
A.some_state_var = False
my_a = A()
my_a.some_state_var = True
# Then later
my_a.some_state_var = False
Nie rozumiem więc, jak wybór między klasą a instancją tej klasy dotyczy stanu (w Pythonie). Mogę utrzymać stan z jednym z dwóch.
Co więcej, motywacja do stworzenia mojej klasy / instancji klasy nie polega na egzekwowaniu wymogu Singleton.
Nie chodzi też o tworzenie nowego typu.
Motywacją jest zgrupowanie powiązanych kodów i danych oraz posiadanie interfejsu. Dlatego początkowo zamodelowałem go jako klasę na schemacie klas. Dopiero przy implementacji zacząłem się zastanawiać, czy utworzyć tę klasę, czy nie.