Я в настоящее время кодирую стандарт, определенный в XML. Стандарт предоставил мне 2 XSD, которые я должен поддерживать. с критическими изменениями в обратной совместимости. Мой вопрос является общим, в котором наилучшей практикой является их реализация. Я пошел по пути использования «XSD.EXE» для генерации файлов классов для строгой типизации модели XML. Это, очевидно, привело меня к выводу, что в C # нет никакого способа версии файлов классов, кроме переопределения методов, но это не совсем понятно для меня, поскольку изменения довольно значительны с точки зрения свойств и т. Д.
Поэтому моя первоначальная идея состояла в том, чтобы просто использовать стандартный синтаксический анализ XML в каждом версионном процессоре и не беспокоиться о строго типизированных моделях. Я пишу гораздо больше кода (и менее чистого кода) в процессе.
Вторая идея состояла в том, чтобы сделать версию имен моей модели и процессора так, чтобы версия xsd (тег в XML) была такова, чтобы у id был класс с именем «Equipment_1_0» и «Equipment_1_1» и использование фабрики, чтобы вернуть мне правильную тип для десериализации как, но это кажется хакерским.
И моя последняя идея состояла в том, чтобы обратиться сюда, потому что это похоже на проблему, к которой многие люди обращались бы раньше. Любое понимание или ресурсы, которые кто-либо может указать мне с точки зрения лучших практик в этой ситуации?
Спасибо