Nói rằng tôi có một loại rất đơn giản dữ liệu:Có thể giám sát danh sách (hoặc chuỗi có thể thay đổi) khi nào một thành viên của danh sách được sửa đổi không?
class SimpleObject:
def __init__(self, property):
self.property = property
def update_property(self, value):
self.property = value
Và tôi một loại đặc biệt của danh sách để lưu trữ các kiểu dữ liệu:
class SimpleList(collections.MutableSequence):
def update_useful_property_of_list(self, value):
self.useful_property_of_list = value
Và tôi lưu trữ chúng:
simple1 = SimpleObject(1)
simple2 = SimpleObject(2)
simple_list = SimpleList([simple1, simple2])
Có cách nào để đối tượng SimpleList
biết khi một trong các thuộc tính của các thành viên của nó thay đổi không? Ví dụ, làm thế nào tôi có thể nhận simple_list
để thực hiện self.update_useful_property_of_list()
khi một cái gì đó như thế này xảy ra:
simple1.update_property(3)
Tôi nhớ lại các trang trí chức năng là một cách để xử lý việc này. Đó có thể là một hướng để xem xét. – BlackVegetable
Đó là * mẫu thiết kế quan sát *, bạn có thể dễ dàng tìm thấy các nguồn về nó bằng cách tìm kiếm nhanh. – utdemir
bạn muốn làm gì? –