這個問題是關於概念而不是特定的語言。我有一些「變量」和一些處理程序 - 當這個變量的值被改變時要被調用的函數。它在JavaScript中實現,但並不重要。幾個處理程序可以觀察相同變量的值,並按照它們作爲觀察者註冊的順序進行調用。在這個處理程序之一中,我應該怎麼做纔會改變價值?我想這些aproaches:觀測變量的設定值
值不能在「的onChange」處理程序被改變 - 同樣的方法從已知的觸發器在MySQL例如。但它是不舒服和限制。
值異步更改 - 所有處理程序都被調用,然後在「下一個打勾」更改值並重新調用所有處理程序。它可以工作,(我知道我需要關心無限循環)。這種方法的缺點是所有的處理程序都會被調用兩次,這可能會對性能產生負面影響(閃爍的UI等)
值同步更改 - 處理程序隊列處理在一個處理程序中更改時停止,然後是處理程序從開始再次處理隊列。優點 - 並非所有的處理程序都被調用兩次。缺點 - 註冊順序很重要。
這個問題沒有算法。無論如何,你的問題可能更適合程序員。 – BartoszKP
@BartoszKP:我在這個問題中看到三種算法。哪裏有問題? – clemens
@macmoonshine它們是假設和約束的集合,而不是算法。 – BartoszKP