Фон
Я создаю приложение, отображающее вертикальный список элементов (представьте себе приложение для просмотра файлов).Типом элемента может быть папка, и в этом случае папка может иметь любое количество дочерних элементов / папок, что позволяет пользователю создавать / перемещаться по иерархии, как в файловой системе.Вместо элементов, упорядоченных по алфавиту (и т. Д.), Пользователь может вручную перетаскивать элементы, чтобы сортировать их по своему усмотрению.Таким образом, у каждого элемента есть целочисленный тип sort / position, который отслеживает положение элемента относительно других элементов в текущей папке.По крайней мере, модели представлений в настоящее время.
Вопрос
Принадлежит ли свойство sort / position элемента как свойство в доменных объектах для элементов?
Значения сортировки не имеют значения для отдельного элемента.Странная концепция здесь - рекурсивная / иерархическая природа элементов, которые являются папками.Элементы типа папок могут быть ответственны за то, чтобы действительные значения сортировки непосредственных потомков были действительными (последовательные / без пробелов / без перекрытий), и за внесение изменений в порядок сортировки этих потомков.
Но правильно ли это?Порядок сортировки выглядит как проблема, связанная с отображением.Должна ли вместо этого существовать служба, которая принимает объекты домена без сортировки и применяет свойство сортировки / позиции к этим элементам, когда они преобразуются для просмотра моделей перед отображением?