我問了這個問題以獲得關於膠水代碼的一些意見。編寫膠水代碼的最佳做法
例如,假設你有一個類(僞):
class MyClass
int attribute a
string attribute b
,並代表該數據模型,你有兩個滑塊和一個文本框來表示,和一個文本框和說。 ..代表的窗口標籤b。
顯然,當這些視圖對象之一被改變時,你想要更新其他視圖對象。但是,更新整個視圖顯然效率不高。
method onSomethingHappened(uiObject)
model.appropriateAttribute = uiObject.value
問題是,您對接下來要做什麼有什麼看法?如果模型對象實現當值已更改通知的偵聽器回調,允許一個寫膠水代碼,如:
method modelChangedCallback(model, attribute)
uiObject1.value = model.a
uiObject2.value = model.a
下,您可能檢查該改變的是,並作出相應的反應的屬性是什麼?這是Objective-C和Mac上Cocoa的模型。
或者,您是否有責任完全在膠水代碼中?
method onSomethingHappened(uiObject)
model.appropriateAttribute = uiObject.value
self.updateForAttribute("appropriateAttribute")
當您的項目變大時,這兩種方法都可能變得非常多毛(就像膠水代碼的問題)。也許還有其他的方法。你怎麼看?
感謝您的任何意見!