Я беру на себя проект, которым компания довольно недовольна юзабилити сайта. Он использует django, и веб-сайт очень ориентирован на пользователя. Посмотрев макет папок django, я начинаю подвергать сомнению его структуру.
На сайте есть много разных типов контента, то есть элементов блога, предстоящих событий, видео, изображений, mp3-файлов и сообщений на форуме. На данный момент для каждого типа контента существует в основном отдельное приложение django, то есть папка приложения mp3s с моделями и видами, папка видео приложения с моделями и видами и т. Д.
/
/urls.py
/settings.py
/...
/events
/events/models.py
....
/videos/models.py
/
...
На мой взгляд, поскольку все они в основном относятся к одному и тому же типу объектов, должна существовать одна папка приложения с именем ContentObject, у которой есть один models.py. В этом есть абстрактный класс ContentObject, который имеет наиболее распространенные атрибуты, и все модели для его детей (фильмы, видео и т. Д.). Функция этого приложения в основном для управления всеми объектами.
На сайте есть область блога, поток, магазин и браузер событий. Опять же, на мой взгляд, это все должны быть отдельные папки приложений, которые предназначены для представления объектов из приложения ContentObject пользователю.
Это мудрый ход? Помимо логистики реструктуризации, этот подход выглядит гораздо более логичным и придерживается идеи слабой связи. Тем не менее, у меня есть оговорки относительно наличия приложения (ContentObject), которое на самом деле не имеет просмотров.
Кто-нибудь может дать какой-либо вклад?