한 번만 인스턴스화되는 파이썬 클래스가 주어지면 클래스의 객체가 하나뿐입니다. 어떤 경우에 클래스와 직접 작업하는 대신 단일 클래스 인스턴스를 만드는 것이 타당한 지 궁금합니다.
비슷한 질문 이 있지만 다른 초점을 가지고 있습니다.
- 전역 변수와 함수를 클래스로 그룹화하고
- 파이썬 전용이 아닙니다. 후자는 (파이썬에서) 클래스도 객체라는 사실을 고려하지 않습니다.
최신 정보:
파이썬에서는 클래스와 객체로 다음을 수행 할 수 있습니다.
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
따라서 클래스와 해당 클래스의 인스턴스 중에서 선택이 상태에 관한 방법 (파이썬)에 대해서는 어떻게 보지 않습니다. 둘 중 하나의 상태를 유지할 수 있습니다.
또한 클래스 / 클래스 인스턴스를 만들려는 동기는 Singleton 요구 사항을 시행하는 것이 아닙니다.
또한 새로운 유형을 만드는 것은별로 중요하지 않습니다.
동기 부여는 관련 코드와 데이터를 그룹화하고 인터페이스를 갖는 것입니다. 이것이 처음에 클래스 다이어그램의 클래스로 모델링 한 이유입니다. 구현에 관해서 만이 클래스를 인스턴스화할지 여부를 궁금해하기 시작했습니다.