Câu hỏi phỏng vấn Python
Câu hỏi

Hãy định nghĩa Singleton một cách đơn giản, lấy ví dụ?

Câu trả lời

Singleton là một mẫu thiết kế (design pattern) mà đảm bảo một lớp chỉ có một thể hiện duy nhất và cung cấp một điểm truy cập toàn cục đến thể hiện đó. Trong Python, có một số cách để định nghĩa singleton một cách đơn giản và tinh tế.

Sử Dụng Một Lớp Cơ Bản

Một cách phổ biến để tạo singleton trong Python là sử dụng một lớp cơ bản và lưu trữ thể hiện duy nhất của lớp đó trong một thuộc tính lớp:

class Singleton:
    _instance = None

    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

Trong ví dụ trên, phương thức __new__ được ghi đè để kiểm tra xem thể hiện của lớp đã được tạo hay chưa. Nếu chưa, nó sẽ tạo một thể hiện mới và lưu trữ nó trong _instance. Các lần gọi sau đến lớp này sẽ trả về thể hiện đã được tạo trước đó.

Sử Dụng Một Decorator

Một cách khác để tạo singleton là sử dụng một decorator. Decorator này...

Bạn cần đăng nhập để xem
expert

expert

Gợi ý câu hỏi phỏng vấn

middle

*args**kwargs là gì? Tại sao chúng ta sử dụng chúng?

middle

Hàm self trong Python là gì?

senior

Cython là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào