Bạn sử dụng singletons để cung cấp phiên bản chia sẻ, có thể truy cập toàn cầu của lớpĐịnh nghĩa này không phải là duy nhất trong tài liệu của Apple. Bài viết Wikipedia mà tôi đã liên kết ở trên cũng nói rằng “Việc triển khai mẫu singleton phải cung cấp quyền truy cập toàn cầu vào trường hợp đó.”
Tại sao singleton được sử dụng trong Swift?
Singleton là một mẫu thiết kế sáng tạo, đảm bảo rằng chỉ một đối tượng cùng loại tồn tại và cung cấp một điểm truy cập duy nhất vào nó cho bất kỳ mã nào khác. Singleton gần như có những ưu và nhược điểm giống như các biến toàn cục. Mặc dù chúng siêu tiện dụng, nhưng chúng phá vỡ tính mô-đun của mã của bạn.
Khi nào bạn không nên sử dụng singleton?
Tình huống duy nhất mà bạn nên xem xét một singleton là khi có nhiều hơn một trường hợp dữ liệu toàn cục đã thực sự là lỗi logic hoặc lỗi truy cập phần cứng.
Liên kết liên quan:
- Độ giòn do Global State và Singletons kêu gọi.
- Tiêm phụ thuộc để tránh người độc thân.
- Nhà máy và Singletons.
Singleton nào tốt?
Nên sử dụng một singleton khi quản lý quyền truy cập vào một tài nguyên được chia sẻ bởi toàn bộ ứng dụngvà sẽ rất nguy hiểm nếu có nhiều trường hợp của cùng một lớp. Đảm bảo rằng quyền truy cập vào chuỗi tài nguyên được chia sẻ an toàn là một ví dụ rất tốt về nơi mà loại mô hình này có thể quan trọng.
Singleton có phải Swift xấu không?
Singletons không phải là xấu, nhưng trong nhiều tình huống, chúng đi kèm với một loạt các vấn đề có thể tránh được bằng cách tạo ra các mối quan hệ được xác định rõ ràng hơn giữa các đối tượng của bạn và bằng cách sử dụng phụ thuộc tiêm.