Tôi đang sử dụng trình điều khiển java cho MongoDB, và các tài liệu nói đến: "bạn nên tạo một trường hợp Mongo duy nhất, và bạn có thể sử dụng nó trong mọi yêu cầu"Tạo một tài liệu tham khảo tĩnh so với một singleton
Sử dụng một bản sao đơn lẻ có vẻ giống như một singleton.
Ở những nơi khác cho một thư viện khác, tôi đã đọc hướng dẫn nói rằng tôi nên tạo tham chiếu tĩnh vì nó là an toàn chỉ.
Ai đó có thể giải thích sự khác biệt giữa một singleton và tạo tham chiếu tĩnh không?
Vì vậy, các mã thực tế mà tôi cần phải nhanh chóng hoặc tĩnh hoặc thông qua một singleton sẽ là:
Mongo m = new Mongo("localhost" , 27017);
Ai đó có thể giải thích cả hai phương pháp và sự khác biệt cơ bản nếu có?
Mongo an toàn chỉ và là một nhóm kết nối, tôi chỉ cần tạo một cá thể đơn, vì vậy một cá thể tĩnh là cách để đi? – codecompleting
@codecompleting Có, một nơi nào đó trong lớp chính của bạn giao dịch với Mongo bạn nên có 'private static final Mongo mongo = new Mongo (" localhost ", 27017);' và chắc chắn rằng bạn không tạo một Mongo khác. Nếu bạn có một thiết kế đối tượng tốt, các lớp khác sẽ không bao giờ truy cập trực tiếp vào 'mongo'; nếu bạn cần các lớp khác để truy cập vào 'mongo', bạn có thể tạo phương thức' getMongo() 'trong lớp chính của bạn. – toto2