Tôi đang hợp nhất một chi nhánh CVS và một trong những thay đổi lớn hơn là thay thế bất cứ nơi nào nó xảy ra trong mẫu Singleton với các lớp trừu tượng có khối khởi tạo tĩnh và tất cả các phương thức tĩnh.Java Singleton vs static - có lợi ích thực sự thực sự không?
Đây có phải là thứ đáng để giữ vì nó sẽ yêu cầu sáp nhập rất nhiều xung đột, loại tình huống nào tôi sẽ xem xét cho việc tái cấu trúc này là đáng giá?
Chúng tôi đang chạy ứng dụng này theo WebLogic 8.1 (để JDK 1.4.2)
xin lỗi Thomas, hãy để tôi làm rõ ..
phiên bản TRỤ có Singleton pattern truyền thống (nhà xây dựng tư nhân, getInstance() v.v.)
phiên bản nhánh không có hàm tạo, là 'lớp trừu tượng công khai' và sửa đổi tất cả các phương thức trên đối tượng là 'tĩnh'. Mã được sử dụng để tồn tại trong hàm tạo riêng được chuyển vào một khối tĩnh.
Sau đó, tất cả các tập quán của lớp được thay đổi gây ra nhiều xung đột trong quá trình hợp nhất.
Có một vài trường hợp thay đổi này được thực hiện.
Một singleton được gắn với tuổi thọ ClassLoader của trình nạp lớp đã tải nó, nhiều như tĩnh. –
Và? Tất cả mọi thứ được gắn liền với tuổi thọ của ClassLoader, nhưng bằng cách đặt một singleton, bạn có thêm một lớp vòng đời, với nhiều cơ hội hơn (hoàn thiện) để xử lý mọi thứ một cách chính xác. –