Obwohl ich im Prinzip der Idee zustimme, dass Sortieren Business Logic ist, weil Sie durch Aufschlüsselung nach dem Ursprung etwas wie "Der Kunde möchte, dass die Produktseite mit den nach Datum sortierten Bildern angezeigt wird" erhalten, wird klar, dass Die Sortierreihenfolge für Daten ist normalerweise nicht willkürlich - auch wenn keine Sortierung erfolgt, da dies immer noch eine Geschäftsentscheidung durch Auslassung ist (eine leere Liste ist immer noch eine Liste).
ABER ... Diese Antwort scheint die Fortschritte in der ORM-Technologie nicht zu berücksichtigen. Ich kann nur in Bezug auf das Entity Framework (vermeiden wir einen Streit darüber, ob dies wahres ORM ist, das ist nicht der Punkt) von Microsoft as sprechen Das ist, was ich benutze, aber ich bin sicher, dass andere ORMs ähnliche Funktionen bieten.
Wenn ich mit MS MVC und dem Entity Framework eine stark typisierte Ansicht für eine Produktklasse erstelle und eine Fremdschlüsselbeziehung zwischen der Produkt- und der Image-Tabelle (z. B. FK_Product_Image_ProductId) besteht, kann ich sofort schnell sortieren die Bilder während ihrer Anzeige mit so etwas in der Ansicht:
@foreach(Image i in Model.Image.OrderBy(e => e.DisplayOrder)){ //etc etc... }
Es wurde eine bestimmte Business Logic-Schicht erwähnt, mit der ich auch 80% meiner Geschäftslogik ausführe, aber ich werde keine Sortierfunktionalität in meine Business Logic-Schicht schreiben, die etwas nachahmt, das sofort einsatzbereit ist aus dem Entity Framework.
Ich glaube nicht, dass es eine richtige Antwort auf diese Frage gibt, außer das zu sagen. Sie sollten komplexe Geschäftslogik nach Möglichkeit abstrahieren, jedoch nicht auf Kosten der Neuerfindung des Rads.