我有一個設計問題,我確定存在一個設計模式,我想知道該模式並獲得更多有關攻擊它的最佳實踐的信息。處理GUI組件中的循環依賴關係
我有一個輸入時間間隔的交互式界面。這個時間間隔具有上的天數(d)的數量的限制,小時(h),分鐘(m)和秒(s):
d < = C(C爲給出)
H:M:小號< = 5點30分00秒
在上述界面中,可以手動改變旋鈕(那些圓形儀表),以獲得值對於每個參數(有4個旋鈕,3同心和1獨立)。此外,你可以自己編輯文本框,旋鈕應該反映你的改變。當然,當您旋轉旋鈕時,您在旋轉期間獲得值的更改,而不是在您的移動穩定後。這意味着要發生一連串的事件,並要處理大量的角落案件。例如,假設h:m:s爲4:38:00,用戶增加小時數。除了簡單的5:38:00,它應該是0:08:00除了增加日子,或者5:30:00如果天已經是最大值。
目前發生的是,所有的邏輯寫在TextChanged
事件的文本框,並且旋鈕ValueChanged
事件只是改變在相應的文本框中的文本因此其射擊事件TextChanged
。所以一般的問題是,如何處理這樣一個場景 - 許多對象彼此相互轉換並以循環方式相互依賴?請注意,當您旋轉旋鈕時,文本框會拒絕更改,從而在旋轉時將旋鈕指針的前一個值重新賦值。