Cho một lớp Python sẽ được khởi tạo chỉ một lần, tức là sẽ chỉ có một đối tượng của lớp. Tôi đã tự hỏi trong trường hợp nào có ý nghĩa để tạo một cá thể lớp duy nhất thay vì làm việc trực tiếp với lớp thay thế.
Có một câu hỏi tương tự , nhưng nó có một trọng tâm khác:
- đó là về việc nhóm các biến và hàm toàn cầu vào một lớp và
- Nó không phải là Python cụ thể. Cái sau có nghĩa là nó không xem xét thực tế rằng các lớp (trong Python) cũng là các đối tượng.
CẬP NHẬT:
Trong Python, tôi có thể làm như sau với cả lớp và đối tượng:
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
Vì vậy, tôi không thấy sự lựa chọn giữa một lớp và một thể hiện của lớp đó là về trạng thái (bằng Python). Tôi có thể duy trì trạng thái với một trong hai.
Hơn nữa, động lực để tạo ra cá thể lớp / lớp của tôi không phải là về việc thực thi một yêu cầu Singleton.
Ngoài ra, nó không phải là quá nhiều về việc tạo ra một Loại mới.
Động lực là để nhóm mã và dữ liệu liên quan và có một giao diện với nó. Đây là lý do tại sao ban đầu tôi mô hình hóa nó như là một lớp trong sơ đồ lớp. Chỉ khi bắt đầu thực hiện, tôi mới bắt đầu tự hỏi có nên khởi tạo lớp này hay không.