INotifyPropertyChanged 在 MVVM 中應該在哪裡實作:ViewModel 還是 Model?
開發 MVVM 應用程式時,會出現 ViewModel 還是 Model 的問題應實作 INotifyPropertyChanged 介面。雖然許多範例都顯示模型實作此接口,但 Josh Smith 的 CommandSink 範例採用了不同的方法,讓 ViewModel 實作它。
模型 INotifyPropertyChanged 實現的基本原理
一些爭論模型不應實作 INotifyPropertyChanged,因為它不是特定於 UI 的。然而,這個論點忽略了這樣一個事實:該介面僅通知更改,而不考慮 UI 的參與。因此,它適用於其他用例,例如觸發非 UI 邏輯。
ViewModel INotifyPropertyChanged 實作的基本原理
其他支援 ViewModel 實作 INotifyPropertyChanged,因為它簡化資料綁定。它消除了模型上複雜的事件處理程序或將屬性變更從 ViewModel 傳播到模型的需要。
有標準方法嗎?
儘管有這些爭論,這個問題沒有明確的答案。 MVVM 允許實現靈活性。做出決定時請考慮以下因素:
結論
最終,決定取決於您的專案的特定要求。權衡每種方法的優缺點以確定最合適的解決方案。避免教條並探索不同的實現,以找到最適合您的應用程式的實現。
以上是ViewModel 或 Model:INotifyPropertyChanged 應該位於 MVVM 中的什麼位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!