我試圖將Observable項目傳遞給存儲庫層。在IObservable中傳遞<T>方法
我有接口
public interface Repository{
IObservable<INotification<bool>> Save(IObservable<T> objects);
}
我無法測試這一點,並沒有發現人在做這樣的事情的任何實例。
這是不好的設計Rx明智嗎?我想保存一連串的結果,並讓存儲庫根據它自己的語義緩衝它們。例如,存儲庫的實現在Buffer()的控制下。
這樣做的部分原因是,當對象流關閉時,允許save方法緩衝/刷新最後一項。它可能會更頻繁地做到這一點,但從更高的層面來說,我不在乎。
編輯:
我感到非常愚蠢的有關測試,顯然是我在嘲笑的具體調用可觀察到的,而如果我使用的重放,甚至做的一個具體實例,實際上是一個新實例導致我的模擬返回null的對象。
雖然我仍然對這種模式感到好奇。
「我在測試這個問題時遇到了麻煩」 - 遇到麻煩是因爲/有什麼麻煩? – tolanj
從理論上講,它是有效的。實際上,這可能是無用的,因爲'IObservable'很難與普通的序列化。NET應用程序集成工具(WCF,OData等),除非您計劃在一個應用程序內使用此接口 – supertopi
是的,這種類型的失敗的目的是序列化(我想現在我的應用程序正在關閉!),因爲'Observerable'controls完成的步伐。 – paulpdaniels