W odniesieniu do bardziej ogólnego terminu hydrat
Nawodnienie obiektu polega na pobraniu obiektu istniejącego w pamięci, który nie zawiera jeszcze żadnych danych domeny („rzeczywistych” danych), a następnie zapełnienie go danymi domeny (np. Z bazy danych, z sieci lub z pliku system).
Z komentarzy Ericka Robertsona do tej odpowiedzi:
deserializacja == tworzenie instancji + nawodnienie
Jeśli nie musisz martwić się o zawirowania wydajności i nie debugujesz optymalizacji wydajności, które są wbudowane w interfejs API dostępu do danych, prawdopodobnie nie musisz jawnie zajmować się nawodnieniem. Zazwyczaj zamiast tego użyłbyś deserializacji , abyś mógł napisać mniej kodu. Niektóre interfejsy API dostępu do danych nie dają tej opcji, a w takich przypadkach musisz również samodzielnie wywołać krok nawodnienia.
Aby uzyskać więcej szczegółów na temat koncepcji nawodnienia, zobacz odpowiedź Ericka Robertsona na to samo pytanie.
Pytałeś konkretnie o ten framework, więc przyjrzałem się mu.
Najlepiej, jak mogę powiedzieć, nie sądzę, aby ten projekt używał słowa „nawodnić” w bardzo ogólnym znaczeniu. Widzę jego użycie w tytule jako przybliżony synonim „serializacji”. Jak wyjaśniono powyżej, to użycie nie jest całkowicie dokładne:
Zobacz: http://en.wikipedia.org/wiki/Serialization
tłumaczenie struktur danych lub stanu obiektu na format, który można zapisać [...] i odtworzyć później w tym samym lub innym środowisku komputerowym.
Nie mogę znaleźć przyczyny ich nazwy bezpośrednio w Hydrate FAQ , ale dostałem wskazówki na temat ich zamiaru. Myślę, że wybrali nazwę „Hydrate”, ponieważ przeznaczenie biblioteki jest podobne do popularnego, podobnego do dźwięku frameworku Hibernacja , ale zostało zaprojektowane z myślą o dokładnie odwrotnym przepływie pracy.
Większość ORM, w tym Hibernacja, przyjmuje podejście zorientowane na model obiektowy w pamięci, przy czym baza danych bierze pod uwagę drugie. Zamiast tego biblioteka Hydrate przyjmuje podejście zorientowane na schemat bazy danych, zachowując relacyjne struktury danych i pozwalając programowi na pracę nad nimi bardziej czysto.
Mówiąc metaforycznie, wciąż w odniesieniu do nazwy tej biblioteki: Hydrate jest jak „tworzenie czegoś gotowego do użycia” (jak ponowne nawadnianie suszonej żywności ). Jest to metaforyczne przeciwieństwo Hibernacji , które bardziej przypomina „odkładanie czegoś na zimę” (jak Animal Hibernation ).
O ile mogę powiedzieć, decyzja o nazwie biblioteki Hydrate nie dotyczyła ogólnego terminu programowania komputerowego „hydrate”.
Podczas używania ogólnego terminu programowania „hydrat” optymalizacje wydajności są zazwyczaj motywacją (lub debugowaniem istniejących optymalizacji). Nawet jeśli biblioteka obsługuje szczegółową kontrolę nad tym, kiedy i jak obiekty są zapełniane danymi, czas i wydajność nie wydają się być główną motywacją dla nazwy lub funkcjonalności biblioteki. Biblioteka wydaje się bardziej zainteresowana włączaniem mapowania od końca do końca i zachowaniem schematu.