Как временно обойти контракты на создание объекта домена при восстановлении приложения из резервной копии?

Объекты модели предметной области нашего приложения имеют конструкторы с нетривиальными контрактами. Например, объект Entry требует объекта Catalog для создания. Проблема в том, что эти контракты должны быть временно нарушены, когда я выполняю массовое восстановление объектов из файла XML, поскольку зависимые объекты могут быть недоступны, пока файл резервной копии не будет полностью обработан.

Есть какой-либо установленный образец или решение этой проблемы?

1 ответ

Там будет несколько способов сделать это.

Есть какой-либо установленный образец или решение этой проблемы?

То, что приходит на ум, это шаблон моментов.

Вероятно, совершенно очевидно, что использование вашего текущего конструктора не завершит работу:), поэтому вам нужно будет использовать другой вызов метода.

Вы можете использовать другой конструктор, если у вас есть аргументы, которые могут получить его.

В мире C# (я уверен, что подобные или, что лучше, конструкции существуют в других языках), вы можете пойти так далеко, чтобы создать метод / конструктор internal и используйте атрибут InternalsVisibleToAttribute, чтобы предоставить вашему массовому загрузчику доступ.

Другие вопросы по тегам