我使用一個API公開具有不同特性的數據:的「靜態」 /「歷史」 /流在F#數據統一模型
- 「靜態」的參考數據,這是你問他們,得到一個值這理應不會改變
- 「歷史」的價值觀,在這裏你可以查詢日期範圍
- 「訂閱」值,你自己註冊接收更新
從一個語義點,壽呃,那些領域是一樣的,只有消費模式不同。參考數據可以看作是一個常數函數,通過時間產生相同的結果。歷史數據只是過去發生的數據流。
我試圖找到一個統一的模型,用它對我的查詢的所有語義進行編程,並將其與消費模式區分開來。
這意味着,可以以「實時」方式評估相同的引用,將字段轉換爲其適當的IObservable格式(如果可用),或以「歷史」方式將「時鐘」作爲參數並在打勾時產生數值或「參考」方式,它只產生1個值(仍然由查詢運行的歷史日期修飾)。
我不確定F#中的哪些編程工具是最適合這個目的的,但我想到的是我從未真正使用的引語。 它會非常適合這樣的任務嗎?
因此,所有這些領域將是類型:ICLOCK - >的IObservable <'T>? – nicolas
是的,爲什麼不行 - 但我不認爲你真的需要IClock的東西,如果你使它成爲'IObservable'或者如果你有某種方法從'T'中提取時間 - 如果你需要精細的IClock-蜱可以分開 –
Carsten
我可能需要獨立的時鐘,因爲許多字段將會是儘可能多的數據源,如果我想回放,則需要某種形式的同步。我想象得必須經歷一個代表時間的公共共享狀態變量 – nicolas