In Bezug auf den allgemeineren Begriff Hydrat
Beim Hydratisieren eines Objekts wird ein im Speicher vorhandenes Objekt genommen, das noch keine Domänendaten ("echte" Daten) enthält, und anschließend mit Domänendaten (z. B. aus einer Datenbank, dem Netzwerk oder einer Datei) gefüllt System).
Aus den Kommentaren von Erick Robertson zu dieser Antwort:
Deserialisierung == Instanziierung + Hydratation
Wenn Sie sich keine Gedanken über Leistungseinbußen machen müssen und keine Leistungsoptimierungen debuggen, die sich in den Interna einer Datenzugriffs-API befinden, müssen Sie sich wahrscheinlich nicht explizit mit der Flüssigkeitszufuhr befassen. Normalerweise verwenden Sie stattdessen die Deserialisierung, damit Sie weniger Code schreiben können. Einige Datenzugriffs-APIs bieten diese Option nicht an. In diesen Fällen müssen Sie den Hydratationsschritt auch explizit selbst aufrufen.
Weitere Informationen zum Konzept der Flüssigkeitszufuhr finden Sie in der Antwort von Erick Robertson auf dieselbe Frage.
Sie haben speziell nach diesem Framework gefragt, also habe ich es mir angesehen.
Soweit ich das beurteilen kann, glaube ich nicht, dass dieses Projekt das Wort "Hydrat" in einem sehr allgemeinen Sinne verwendet hat. Ich sehe seine Verwendung im Titel als ungefähres Synonym für "Serialisierung". Wie oben erläutert, ist diese Verwendung nicht ganz korrekt:
Siehe: http://en.wikipedia.org/wiki/Serialization
Übersetzen von Datenstrukturen oder Objektzuständen in ein Format, das [...] gespeichert und später in derselben oder einer anderen Computerumgebung rekonstruiert werden kann.
Ich kann den Grund für ihren Namen nicht direkt in den Hydrate-FAQ finden , aber ich habe Hinweise auf ihre Absicht erhalten. Ich denke, sie haben den Namen "Hydrate" gewählt, weil der Zweck der Bibliothek dem beliebten klangähnlichen Hibernate-Framework ähnelt , aber es wurde mit genau dem entgegengesetzten Workflow entwickelt.
Die meisten ORMs, einschließlich des Ruhezustands, verfolgen einen speicherinternen objektmodellorientierten Ansatz, wobei die Datenbank die zweite Überlegung berücksichtigt. Die Hydrate-Bibliothek verfolgt stattdessen einen datenbankschemaorientierten Ansatz, bei dem Ihre relationalen Datenstrukturen erhalten bleiben und Ihr Programm sauberer darauf arbeiten kann.
Bildlich gesprochen, immer noch in Bezug auf den Namen dieser Bibliothek: Hydrat ist wie "etwas gebrauchsfertig machen" (wie getrocknete Lebensmittel rehydrieren ). Es ist ein metaphorisches Gegenteil von Hibernate , das eher so ist, als würde man "etwas für den Winter weglegen " (wie Animal Hibernation ).
Die Entscheidung, die Bibliothek Hydrate zu nennen, betraf, soweit ich das beurteilen kann, nicht den allgemeinen Computerprogrammierbegriff "Hydrat".
Bei Verwendung des allgemeinen Computerprogrammierbegriffs "Hydrat" sind Leistungsoptimierungen normalerweise die Motivation (oder das Debuggen vorhandener Optimierungen). Selbst wenn die Bibliothek eine detaillierte Kontrolle darüber unterstützt, wann und wie Objekte mit Daten gefüllt werden, scheinen das Timing und die Leistung nicht die Hauptmotivation für den Namen oder die Funktionalität der Bibliothek zu sein. Die Bibliothek scheint mehr daran interessiert zu sein, End-to-End-Mapping und Schemaerhaltung zu ermöglichen.