Организация пространства имён в проекте. Паттерн MVVM

Пишу проект на C# WPF в рамках паттерна MVVM и столкнулся с тем, что не понимаю, как правильно работать с пространствами имён и папками в проекте. По умолчанию у нас есть три папки

  • View
  • ViewModel
  • Model

Во View находятся окна. В подпапки, я так понимаю, тут можно поместить стили и кастомные элементы отображения. Во ViewModel находится управляющий код, который связывает View и Model и к которому осуществляется привязка со стороны View. В Model лежат классы за обработку логики приложения.

Но помимо этого набирается довольно много классов, которые я не очень понимаю, куда поместить при таком разбиении. Например конвертеры, которые используются на View. Вроде как нужно помещать во View, но если один и тот же конвертер используется и во View и в Model? Или такого в принципе не должно быть? Так же некоторые кастомные элементы View могут использовать дополнительные классы, которые так же не понятно, куда нужно помещать. Например класс поиска дочерних объектов объекта отображения. Так же располагать во View или помещать в Model? Или вообще отдельную папку и пространство имён под них заводить? Стили помещать во View? В отдельную папку?

Так же по пространству имён, как вообще принято его разделять и принято ли? Оно должно быть одно на всё приложение? Или это должно быть три пространства имён MVVM? Или же для каждой подпапки оно должно быть своим? Как считается правильным?

В общем есть ли какой-то общепринятый стандарт разбивки проекта на пространства имён и папки? Или же каждый разработчик делает это на своё усмотрение, руководствуясь интуицией?


Ответы (0 шт):