Приведенные ниже утверждения и следующий вопрос основаны на моем собственном опыте, и если некоторые из них неверны, вы можете указать на это.На самом деле, я был бы очень признателен.
Практически в любой архитектуре приложений разработчики используют экземпляры класса с разрешением контейнера IoC, которые InSingletonScope()
(терминология взята из Ninject, но я уверен, что большинствополучить значение).
Примером экземпляра класса, который вам нужен только один, может быть, например, реализация ICloudStorageProvider.
Если экземпляр реализации ICloudStorageProvider содержит данные для входа в системув облачную учетную запись в форме вложенного класса LoginData или просто в полях «Логин» и «Пароль», так что до сих пор я вызывал метод, подобный LocalStorageProvider.SaveLoginData(...)
, всякий раз, когда мне нужно было его сохранить.Другой класс, который знал, как это сделать, сохранил данные для моего экземпляра класса.
Это сделало бы жизнь намного проще, если бы существовал механизм, позволяющий сериализовать в локальное хранилище данных целые экземпляры.таких «одноэлементных» объектов, а затем, когда приложение перезапускается или снова требуется isntance, оно просто десериализует его вместе с данными для входа в систему в приведенном выше примере.
А так как контейнер IoC являетсяодин ответственный за создание экземпляров объекта в наши дни выглядит как идеальное решение для такой ответственности.
Есть ли такой механизм, который действует как IoC и сериализатор?