我有一些類的層次結構。我想實現這個層次結構中任何實例的延遲更新。換句話說,我們應該在唯一的情況下更新對象,我們將使用任何公共的對象方法。什麼是允許實現這種行爲的最佳設計模式?哪個設計模式允許執行延遲更新對象
這裏是這樣的情況下簡單的例子:
我有複雜的模型,該模型不能更新視圖(在性能的目的)。因此,視圖在訪問任何公共方法期間應自動更新自己
我有一些類的層次結構。我想實現這個層次結構中任何實例的延遲更新。換句話說,我們應該在唯一的情況下更新對象,我們將使用任何公共的對象方法。什麼是允許實現這種行爲的最佳設計模式?哪個設計模式允許執行延遲更新對象
這裏是這樣的情況下簡單的例子:
我有複雜的模型,該模型不能更新視圖(在性能的目的)。因此,視圖在訪問任何公共方法期間應自動更新自己
我在解釋短語延期更新意味着延遲加載。在這種情況下,這聽起來像是在描述proxy pattern。代理是用來控制訪問到另一個對象或資源,並通過GoF的控制訪問對象提到的第一個原因,
...推遲其 創建和初始化的全部費用,直到我們實際上需要使用它。
換句話說,只有當實際調用其中一個公共方法時才能更新對象。
設計模式很少用於性能目的。相反,你打破了一個模式來獲得更好的表現。
要偵聽模型中的變化,請使用Observer。
要在調用方法時執行某些操作,請使用代理。
Model-view-viewmodel (MVVM)與@vz0發佈的內容有關。
在這種模式下,視圖觀察者視圖模型,並相應地自我更新,使您可以將GUI從數據表示中分離出來。
但在我的情況下,模型無法通知有關其更改的視圖。這是我的架構的弱點 – LmTinyToon
是的,這是我的意思 – LmTinyToon