Хоча я принципово погоджуюся з думкою, що сортування - це бізнес-логіка, оскільки, розбивши її до свого походження, ви отримаєте щось на кшталт "Клієнт хотів би, щоб сторінка продукту відображалася із зображеннями, відсортованими за датою", тоді стає зрозуміло, що порядок сортування даних, як правило, не є довільним - навіть якщо немає сортування, оскільки це все-таки ділове рішення за пропуском (порожній список все ще є списком).
Але ... Ця відповідь, здається, не враховує досягнень технології ORM, я можу говорити лише стосовно Entity Framework (давайте уникати аргументів про те, чи це правда ORM, це не суть) від Microsoft як саме цим я і користуюся, але впевнений, що інші ОРМ пропонують подібну функціональність.
Якщо я створять вигляд із сильним типом для продуктового класу за допомогою MS MVC та Entity Framework, і між таблицею Product і Image є зовнішній ключ (наприклад, FK_Product_Image_ProductId), я б поза межами поля змогла швидко сортувати зображення під час їх відображення, використовуючи щось таке у поданні:
@foreach(Image i in Model.Image.OrderBy(e => e.DisplayOrder)){ //etc etc... }
Згадувалося про специфічний шар Business Logic, який я також використовую для виконання 80% своєї бізнес-логіки, але я не збираюся писати функціональність сортування у мій шар Business Logic, який імітує щось, що виходить із коробки з цілісних рамок.
Я не думаю, що на це питання є правильна відповідь, крім того, щоб сказати це; Ви повинні абстрагувати складну бізнес-логіку там, де це можливо, але не ціною, щоб винаходити колесо.