我的問題是,我正在處理一個返回關於對象的信息的RESTful API,並且在編寫代表它們的類時,我不確定如何最好地處理每個變量可用性狀態的所有可能性。從我所知道的,有5種可能:信息如何通過RESTful API處理OOP中信息的複雜可用性
- 可
- 沒有要求
- 目前正在請求(異步)
- 不可用
- 是不適用
因此,有了這些對象用數值表示它的數據或null不會削減它。舉一個更具體的例子,我正在使用一個關於美國國會的API,所以問題如下:
我要求關於帳單的信息,它包含關於贊助立法者的存根。 我最終需要請求關於該立法者的所有信息。並非所有的立法者都會獲得所有的信息。衆議院的議員不會有參議院議員(參議員的六年任期交錯,因此每兩年屆滿一次,衆議院每兩年完全連任)。有些人不會有推特ID,只是因爲他們沒有。當然,如果我已經要求提供信息,我不應該再次請求它。
有一對夫婦選擇我看到:
我可以創建一個立法者對象,並與我有什麼樣的信息填寫,但後來我不得不和getter和setter跟蹤信息可用性的一些機制。這就是我現在正在做的事情,但它需要很多的重複代碼。
我能爲縮寫對象來創建一個單獨的類和替換他們當我得到更多的不可變「完整」的對象,但我必須非常小心更換他們所有引用,也經歷了一堆不可用的環,特別是不適用的信息。
所以,我只是想知道其他人在這個問題上採取了什麼。還有其他(更好的)方法來處理這種複雜性嗎?不同方法的優點和缺點是什麼?在選擇方法時我應該考慮什麼?
[注:我在Objective-C的工作,但這並不一定是特定於語言]
非常贊同。這個關聯的問題(和你的(接受的)答案)非常好。你的答案尤其是恆星。我可以摘錄它來爲我的管理層做出一些決定。 – 2011-06-09 20:05:35