Diberikan kelas Python yang akan dipakai hanya sekali, yaitu hanya akan ada satu objek dari kelas. Saya bertanya-tanya dalam kasus apa masuk akal untuk membuat instance kelas tunggal alih-alih bekerja langsung dengan kelas.
Ada pertanyaan serupa , tetapi memiliki fokus berbeda:
- ini tentang pengelompokan variabel dan fungsi global ke dalam kelas dan
- Itu bukan Python-spesifik. Yang terakhir berarti tidak mempertimbangkan fakta bahwa (dalam Python) kelas adalah objek juga.
MEMPERBARUI:
Dengan Python, saya bisa melakukan hal berikut dengan kelas dan objek:
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
Jadi saya tidak melihat bagaimana pilihan antara kelas dan turunan dari kelas itu adalah tentang keadaan (dengan Python). Saya bisa mempertahankan keadaan dengan salah satu dari keduanya.
Selain itu, motivasi untuk membuat kelas saya / kelas bukan tentang menegakkan persyaratan Singleton.
Juga, ini bukan soal membuat Tipe baru.
Motivasinya adalah untuk mengelompokkan kode dan data terkait dan memiliki antarmuka untuk itu. Inilah sebabnya saya awalnya memodelkannya sebagai kelas dalam diagram kelas. Hanya ketika sampai pada implementasi saya mulai bertanya-tanya apakah akan membuat kelas ini atau tidak.