2009-09-21 83 views
2

是否有任何經過深入研究的設計模式與拖拽&拖放和鼠標手勢有關? 考慮一個包含具有特定佈局的父子層次結構中的對象的畫布。 使用鼠標可以將某些對象拖放到其他對象上。 此外,對象可以調整大小,並隨鼠標移動。上的對象拖放和鼠標設計模式?

不同熱點行爲不同,這取決於用戶的狀態(拖動選擇) 對於拖放操作,一些元件是: 1)的視覺反饋給用戶爲源對象 2)的視覺反饋拖動 3期間的用戶)跌落區域檢測 4)落兼容性測試 5)放置動作

標準API的趨向於這些組合成相當單片代碼。

另外,手勢,如移動和調整大小具有某些共同的元素:視覺反饋 1)至用戶當鼠標在resize在移動過程中/移動區域 2)的視覺反饋/調整操作 3)完成/取消操作。

問題是,有沒有辦法做到這一點,簡化了代碼,分離了視覺和文檔級別的責任,並可能大部分是這種聲明?例如,確定鼠標下方的點是否是放置目標,可能會使用某種形式的命中測試與責任鏈模式組合。

我覺得必須要有良好的設計模式,才能將紀律和組織帶入這個雜亂無章的問題。

乾杯,

回答