C # IoC Стандарты структуры проекта - PullRequest
0 голосов
/ 09 января 2019

Какая структура папок рекомендуется для проекта IoC C #? Для проекта MVVM стандартом является создание папок с именами Views и ViewModels (и куда вы помещаете интерфейсы и классы модульного тестирования?)

А как насчет проекта DLL, который не имеет представлений, но предоставляет множество классов, создаваемых через IoC, какие папки должны быть в моем проекте?

Также, когда я начинаю рефакторинг кода в IoC, у меня возникают проблемы с классом SettingsFile, который содержит данные, которые сериализуются в файл. Он содержит несколько методов:

  • void SetDefaultValues ​​()
  • Настройки загрузки файла ()
  • void Сохранить ()
  • string Validate ()
  • Настройки File Copy ()

Основная проблема связана с Load, поскольку десериализация объекта создает новый жесткий экземпляр класса, минуя принципы IoC. Как правильно обращаться со сценарием?

Я думаю о перемещении всего кода за пределы этого класса, чтобы этот класс отвечал только за сериализацию / десериализацию без какого-либо кода, а затем исключил его из IoC. Это правильная вещь? Это аналогичная проблема при использовании Entity Framework и любых автоматически сгенерированных табличных классов.

Спасибо

1 Ответ

0 голосов
/ 11 января 2019

Ответ заключается в том, чтобы отделить классы данных от классов поведения. SettingsFile, как и любой класс EntityFramework, содержит только данные. Внедрение зависимостей через IoC применяется только к классам поведения.

...