2012-02-14 58 views
0

我正在爲Windows Phone上的IsolatedStorageSettings.ApplicationSettings打包...存儲庫是否應該處理默認實例?

其中一個原因是爲了減少散佈的if(x == null)代碼的數量。從我用自己的用法收集到的是,如果我從存儲庫中請求實體並且它不在那裏,我會去創建它的默認實例。

我想知道的是,如果沒有找到實體,返回實體的默認實例是不是一個好主意?如果是這樣怎麼會發生?

我應該允許用戶傳入默認實例嗎?也許是工廠?

想法?

回答

2

不可以。如果沒有,則不應創建默認實例。至少不適用於Get方法。

至於實體創建,我總是在我的倉庫中包含一個Create方法(參數與強制性信息相對應)。

其中的一個原因,這是削減對散落約

信息庫將不修復的,如果(X == NULL)代碼量。存儲庫只是一種抽象數據源的方式。他們不應該包含任何其他邏輯(單一責任原則)。

您可能想要在存儲庫和今天的所有用法之間添加一個圖層(類),以便在一個位置獲得這些空檢查。

+0

這很有道理,這裏有很多很好的信息,謝謝。 – deanvmc 2012-02-14 12:50:09