Als Teil der Abhängigkeiten, an denen das Projekt arbeitet, verwenden wir mehrere Kerndienste. Diese Dienste, an denen wir keine großen Änderungen vornehmen können, sind ein großes Durcheinander. Abhängig von der von uns aufgerufenen Methode müssen wir unsere Parameter (und Rückgabewerte) in verschiedene Codierungen, Gebietsschemas und Zeitzonen konvertieren.
Da wir diese Parameter an mehreren Stellen in unserem eigenen Code generieren, führen wir diese Konvertierungen an mehreren Stellen durch. Manchmal, wo wir sie erzeugen, bevor wir sie an unserer Seite weitergeben; einige Male kurz vor dem Aufrufen der Methode im Kerndienst. Das Chaos breitet sich also in unserem Code aus, und ich möchte eine Ebene einführen, um es zu isolieren.
Meine Frage ist, was der beste Ansatz dafür ist. Anfangs dachte ich daran, nur einen Service / eine Methode zu erstellen, die jedem Service / jeder Methode entspricht, die wir verwenden müssen. Diese Methoden führen einfach die Konvertierung durch, delegieren an die Kerndienste und führen die Konvertierung des Rückgabewerts durch. Aber das scheint irgendwie unhandlich.
Dann habe ich überlegt, Anmerkungen zu verwenden, bin mir aber nicht ganz sicher, wie ich sie verwenden soll. Und so wie ich es verstehe, müsste ich im Idealfall die aufgerufene Methode mit Anmerkungen versehen. Zum Beispiel könnte ich die Parameter mit Anmerkungen versehen @converToUtc
und die Konvertierung in der Anmerkungsimplementierung durchführen. Ist das richtig? Dies ist natürlich schwierig, da es nicht unser Code ist und der Code, der derzeit diese Methoden verwendet, in anderen Projekten als unserem beschädigt wird.
Was ist der beste Ansatz für diese Situation?