Ich sehe an vielen Stellen, an denen das Wort Resolve
verwendet wird, in Dependency Injection (Auflösen einer Implementierung in eine Schnittstelle), Paketmanagern (Beispiel: Auflösen von Paketabhängigkeiten), Web (Beispiel: Auflösen eines Hostnamens).
So tut , was die Logik des Codes so besonders machen , dass jemand wählen , das Wort macht Resolve
über einen einfachen Convert
oder Transform
oder sogar ein Get
?
Antworten:
Der Unterschied ist gering, aber konsistent. Um eine Darstellung in eine andere umzuwandeln, müssen dieselben Daten in einem anderen Format ausgedrückt werden - beispielsweise eine Hexadezimalzahl in eine Dezimalzahl oder Zeichenfolgen in gemischten Groß- und Kleinschreibung in eine Zeichenfolge mit ganz niedrigerer Schreibweise. Normalerweise benötigen Sie nur ein festes Regelwerk, um eine solche Transformation durchzuführen.
Das Auflösen eines Namens umfasst normalerweise das Abfragen eines Repositorys, das Namen mit Informationen verknüpft , die ohne das Repository nicht vorhergesagt werden können.
google.com
wird möglicherweise in eine bestimmte IP-Adresse aufgelöst (tatsächlich mehrere), aber das ist ein Unfall in der IP-Zuweisungshistorie - es könnte genauso gut eine völlig andere Nummer gewesen sein, und es gibt keine Möglichkeit, diese Übersetzung zu erstellen, die irgendwie nicht funktioniert Sie müssen die gesamte Registrierung speichern oder online abfragen. In ähnlicher Weise erfordert das Auflösen von Paketabhängigkeiten normalerweise die Installation der missig-Pakete. Es reicht nicht aus, die Namen der fehlenden Komponenten zu kennen, sondern muss deren Inhalt tatsächlich erfassenund der Inhalt ist nicht allein anhand des Namens vorhersehbar ("QMail" klingt wie ein E-Mail-Programm, aber Sie können seine genauen Eigenschaften nicht nur anhand des Namens vorhersagen, ohne ihn zu installieren, da der Name weit weniger Informationen transportiert als das kompilierte Programm). .Daher sollten Sie den Begriff "Auflösen" nicht für etwas verwenden, das lediglich eine kontextfreie Datentransformation ist. Reservieren Sie es für Situationen, in denen eine erhebliche Menge an Informationen durch jeden Namen symbolisiert wird, so dass die einzig vernünftige Regelung darin besteht, ein zentrales Register dafür zu haben.
quelle