Tôi cần một cách để theo dõi các phiên bản của các lớp khác nhau, mà không có các lớp đó có bất kỳ kiến thức nào về việc chúng đang được theo dõi. Về cơ bản, tôi có một nhà máy sản xuất lớp học tạo ra các trường hợp và đưa chúng ra một chủ đề khác. Khi chuỗi đó hoàn thành và dỡ bỏ cá thể, tôi cần được thông báo về điều đó để tôi có thể thực hiện tính toán tham chiếu và thoát khỏi nhà máy của lớp khi tất cả các phiên bản đã biến mất.Nhận thông báo về việc xử lý/tiêu hủy đối tượng
Thách thức là tôi không thể sửa đổi bất kỳ lớp nào tôi sẽ tải, vì tôi không kiểm soát mã nguồn của chúng.
Theo dõi các trường hợp tôi tạo đơn giản, tôi có thể đặt chúng vào một số loại bộ sưu tập khi tạo chúng. Theo dõi sự hủy diệt của họ đang gây ra vấn đề cho tôi. Nếu tôi có thể sửa đổi mã nguồn, tôi sẽ thêm một sự kiện vào mỗi lớp và khi tôi tạo một cá thể, tôi sẽ móc vào sự kiện và sử dụng nó làm thông báo của tôi. Nhưng tôi không thể làm điều đó.
Vì vậy, câu hỏi đặt ra là: có cách nào lén lút để theo dõi một cá thể đối tượng và phát hiện khi nó đang bị phá hủy không?
+1 Thật buồn cười - tôi đã nghĩ chính xác điều này, cho đến khi tôi đọc phần mà anh ấy nói anh ta đang kiểm soát việc xây dựng các vật thể;) –
Điều này thực sự có vẻ là giải pháp khả thi nhất trong tình huống của tôi, tôi ' tôi sẽ thử. –
Tôi thích của bạn tốt hơn so với Reed bởi vì nó có nghĩa là khách hàng của những loại không cần phải biết về một loại trang trí đặc biệt –