Я разрабатываю дескриптор, основываясь на идеях @property
. Я хотел бы понять, есть ли какой-либо способ легко расширить поведение свойства за пределы установки / получения.
Конкретный пример: я обмениваюсь данными с устройством и хотел бы иметь свойство, которое может устанавливать / получать / обновлять. Таким образом, когда я set
, я передаю новое значение устройству и сохраняю его в кеше. Когда я get
, я получаю кешированное значение. Когда я update
, устройство повторно запрашивает значение. Таким образом можно избежать ненужного взаимодействия с устройством, если оно явно не запущено.
Я не знаю, есть ли шаблон, который мне не хватает, и который может быть простым решением. Можно было бы сделать кеш недействительным при использовании специального значения в set
, но я не думаю, что было бы хорошей идеей предполагать заданное значение c для запуска обновления.