Mam klasa, która definiuje historyczną ekstrakcji w bazie danych:Najlepszy sposób organizowania Ładuj/zapisz funkcje pod względem statycznym/non-statycznego
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();
}
Te ExtractionConfigurations muszą być zapisywane/wczytywane z dysku . Jaki jest najlepszy sposób organizacji funkcji składowania/ładowania pod względem statycznym/niestatycznym? Dla mnie oczywiste jest, że funkcja SaveConfiguration() powinna być funkcją członka. Jednak z LoadConfiguration(), to ma więcej sensu, aby zadzwonić
ExtractionConfiguration newExtraction;
newExtraction.LoadConfiguration();
i mają tymczasowy pusty instancji lub dokonać funkcji obciążenia statycznego
static ExtractionConfiguration LoadConfiguration(string filename);
i zadzwoń
ExtractionConfiguration newExtraction = ExtractionConfiguration::LoadConfiguration(filename);
który czuje się dla mnie spokojniejsza, ale łamie "symetrię" mechanizmu ładowania/zapisywania (czy jest to nawet sensowne/warte uwagi)?
Przypuszczam, że prośba o "najlepszą" odpowiedź jest nieco naiwna. Naprawdę staram się lepiej zrozumieć problemy, które tu się pojawiają.
P.S. To jest moje pierwsze pytanie na temat SO, więc jeśli nie przedstawiłem go poprawnie, proszę dać mi znać, a ja postaram się uczynić problem jaśniejszym.
Witamy. Aby sformatować jako kod, wcinasz sekcję kodu o 4 spacje lub 1 kartę. Zobacz http://stackoverflow.com/editing-help. – kennytm
Dzięki Kenny, byłem * pewien * Brakowało mi sztuczki z formatowaniem tam! –
Powinieneś używać krótszych nazw. Na przykład. po prostu zapisz i wczytaj, ponieważ są już w klasie. Nie każdy korzysta z Intellisense :) – Tronic