2015-02-12 27 views
0

例如,有時Model應通知ViewModel顯示消息框。有時候模型應該改變ViewModel的狀態。做這種通知的正確方法是什麼?調用Model Model中的ViewModel相關代碼

是否有任何有用的模式或東西?

+2

事件怎麼樣? – Clemens 2015-02-12 09:18:38

+0

事件很笨拙。觀察者怎麼樣? – EngineerSpock 2015-02-12 09:22:45

+1

不.Net事件已經實現了這種模式? – Clemens 2015-02-12 09:39:46

回答

1

沒有單一的正確答案,這是一個設計決定。

可能的選擇:

  1. 型號可以公開事件成員。
  2. 模型可以實現IObservable<T>接口或公開IObservable<T>成員。順便說一句,有Observable.FromEventPattern Method它允許將.NET事件轉換爲可觀察序列。
  3. 模型可以使用回調接口。例如,只是爲了證明這個想法:
interface INumberHandler 
{ 
    void Handle(int number); 
} 

class NumberViewModel : INumberHandler 
{ 
} 

class NumberService 
{ 
    public void Calculate(INumberHandler handler) 
    { 
     handler.Handle(9); 
    } 
} 
相關問題