2013-01-11 101 views
0

我有一個存儲一些臨時數據的類。這個類有用於清除過期數據的「deleteOld」方法。將參數傳遞給可能暴露封裝的方法

將參數傳遞給該函數以設置過期期限是個好主意嗎?我的意思是像deleteOld(expiredDays)。 或者這個函數應該封裝expiredDays參數?

deleteOld() 
{ 
    // get expiredDays from config 
} 

'expiredDays'是在config中設置的常量。

第一個變體看起來更加靈活。但第二個看起來更多的OOP,因爲課堂客戶不需要知道有關過期日期的任何信息。第二種方式沒有揭示班級實現的細節。

這是PHP的,但我想這是不要緊

你覺得呢?謝謝。

回答

0

它總是依賴於,主要取決於業務邏輯。如果一個值控制着業務邏輯的某個方面,它可以作爲一個參數給出。這是什麼參數。

在你的情況,我認爲expiredDays是一個管理存儲數據的商業問題,所以揭示這是沒有問題的。除了你的業務邏輯要求外界沒有人應該改變它。正如我所說,這取決於。

你將不會被透露的可能是如何存儲數據(文件系統,數據庫,...)。