Wie trennt man Code aus Gründen der Abwärtskompatibilität sauber vom Hauptcode?

Ich bin daran interessiert, welche Strategien die Leute entwickelt haben, um die gesamte krumme Logik, die für die Aufrechterhaltung der Abwärtskompatibilität erforderlich ist, vom Hauptcode einer Anwendung zu trennen. Mit anderen Worten, Strategien, mit denen Sie Ihrem Code näher kommen, sehen so aus, als gäbe es keine Probleme mit der Abwärtskompatibilität, außer dass für diese Aufgabe separate, isolierte Quellendateien verwendet werden.

Wenn Ihre Anwendung beispielsweise ein bestimmtes Dateiformat liest, können Sie anstelle einer riesigen Parsing-Funktion für Hupendateien Ihren Code zunächst eine Liste von "Macken" -Einträgen / -Objekten durchlaufen lassen, wobei jede Masche die Datei überprüft, um festzustellen, ob es sich um eine Datei handelt es würde gelten, und wenn ja, ruft es seine eigene Parsing-Logik anstelle der normalen Case-Logik auf.

Macken ist eine OK-Strategie, aber Sie müssen arbeiten, um Haken für Mackenprüfungen an allen geeigneten Stellen in Ihrer App zu setzen, und wie die Überprüfungen aussehen, variiert für verschiedene Murmeltypen usw. Es scheint fast so, als ob es welche geben sollte Bibliotheken, die dem Boilerplate für diese Aufgabe gewidmet sind. Ein weiteres Problem ist, wie Sie sicherstellen können, dass Macken nicht missbraucht werden, wenn sie sich in beliebige Teile der App einhaken.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage