Chociaż zasadniczo zgadzam się z ideą, że sortowanie jest logiką biznesową, ponieważ rozkładając je na pochodzenie, otrzymamy coś w rodzaju: „Klient chciałby, aby strona produktu była wyświetlana z obrazami posortowanymi według daty”, wtedy staje się jasne, że porządek sortowania danych zazwyczaj nie jest arbitralny - nawet jeśli nie ma sortowania, ponieważ nadal jest to decyzja biznesowa przez pominięcie (pusta lista jest nadal listą).
ALE ... Te odpowiedzi nie wydają się uwzględniać postępu w technologii ORM, mogę mówić tylko w odniesieniu do Entity Framework (unikajmy dyskusji o tym, czy to jest prawdziwy ORM, nie o to chodzi) od Microsoft jako tego właśnie używam, ale jestem pewien, że inne ORMy oferują podobną funkcjonalność.
Jeśli utworzę widok z silną typizacją dla klasy produktu przy użyciu MS MVC i Entity Framework i istnieje relacja klucza obcego między tabelą produktu i obrazu (np. obrazy podczas ich wyświetlania za pomocą czegoś takiego w widoku:
@foreach(Image i in Model.Image.OrderBy(e => e.DisplayOrder)){ //etc etc... }
Wspomniano o konkretnej warstwie logiki biznesowej, której używam również do wykonywania 80% mojej logiki biznesowej, ale nie zamierzam zapisywać funkcji sortowania w mojej warstwie logiki biznesowej, która naśladuje coś, co pojawia się po wyjęciu z pudełka z Entity Framework.
Nie sądzę, że istnieje poprawna odpowiedź na to pytanie, poza tym, że tak. jeśli to możliwe, powinieneś ująć abstrakcyjną logikę biznesową, ale nie kosztem ponownego wynalezienia koła.