Это зависит от использования. Главное, что касается разделов model/view/controller ..., состоит в том, что если по какой-то причине вы создаете еще один проект B, который нуждается в модели из проекта A, но не заботятся о других, вы можете получить чистый пакет модели из A, в свой собственный проект C, а затем использовать этот проект C как зависимость от A и B, повторно используя ваш код, не включая слишком много кода. Чтобы это сделать, семантика состоит в том, что классы (и интерфейсы, перечисления, все) в модели могут относиться только к другим элементам модели; элементы в контроллере могут ссылаться на элементы в контроллере или модели; элементы в поле зрения могут относиться к элементам в контроллере, представлении или модели; и так далее. Если класс вашей модели импортирует класс из контроллера, вы не сможете извлечь свою модель, как описано. Как вы сказали, вы заказываете слои по этому значению зависимости и для каждого вида enum, где находятся классы, которые нужны этому перечислению? Вы должны поместить перечисление в «минимальный» слой, который имеет какую-либо ссылку на это перечисление. Это в общем случае, по твоим именам, по именам этих перечислений, они, кажется, используются в модели (которая была бы самым низким слоем), поэтому, похоже, они там находятся
Они звучат как часть модели для me ... –
как вам нравится, пока он компилируется и запускается. – HuStmpHrrr