方面組織加載/保存功能的方式,我有一個類定義了數據庫的歷史提取:最好的靜態/非靜態
class ExtractionConfiguration
{
string ExtractionName;
time ExtractionStartTime;
time ExtractionEndTime;
// Should these functions be static/non-static?
// The load/save path is a function of ExtractionName
void SaveConfigruation();
void LoadConfiguration();
}
這些ExtractionConfigurations需要保存/從磁盤加載。根據靜態/非靜態組織保存/加載函數的最佳方式是什麼?對我來說,很明顯SaveConfiguration()應該是一個成員函數。然而,隨着LoadConfiguration(),它更有意義調用
ExtractionConfiguration newExtraction;
newExtraction.LoadConfiguration();
,並有一個臨時的空實例或使負載功能靜電
static ExtractionConfiguration LoadConfiguration(string filename);
並調用
ExtractionConfiguration newExtraction = ExtractionConfiguration::LoadConfiguration(filename);
這對我來說感覺更加整潔,但打破了加載/保存機制的「對稱性」(這甚至是一個有意義/值得考慮的問題?)。
我想詢問「最佳」答案有些天真。我真的想要更好地理解這裏涉及的問題。
P.S.這是我的第一個問題,所以如果我沒有正確表達,請讓我知道,我會盡量讓問題更清楚。
歡迎。要將代碼格式化,可以通過4個空格或1個選項卡縮進代碼部分。請參閱http://stackoverflow.com/editing-help。 – kennytm 2010-02-23 11:26:41
謝謝Kenny,我很確定*我錯過了格式化技巧! – 2010-02-23 11:30:51
您應該使用較短的名稱。例如。只需保存並加載,因爲他們已經在課堂上了。不是每個人都使用Intellisense :) – Tronic 2010-02-23 11:34:24