Ich versuche derzeit, mich mit den verschiedenen Entwurfsmustern vertraut zu machen. Ich habe die Aufgabe gesetzt, IQueryable
basierend auf verschiedenen Spalten zu sortieren. dies ist, wie es zur Zeit implementiert:Verwenden des Strategieentwurfsmusters (C#) zum Sortieren basierend auf verschiedenen Datenspalten
if (choice == 1)
{
return from Animals in ctx.Animals orderby Animals.AnimalID descending select Animals;
}
else if (choice == 2)
{
return from Animals in ctx.Animals orderby Animals.Name descending select Animals;
}
else if (choice == 3)
{
return from Animals in ctx.Animals orderby Animals.Age descending select Animals;
}
Dies scheint jedoch wie ein schlechter Code Geruch zu mir, ist es nicht die Möglichkeit hat, leicht unterschiedliche Felder oder Sortiermöglichkeiten hinzuzufügen, hat mein Lehrer mir geraten, es wäre besser, um das Strategie-Muster zu implementieren und eine Dictionary
verwenden, um die Strategie-Implementierung, die wir wollen, zu wählen, aber ich bin mir nicht sicher, wie das Strategie-Muster auf diese Situation angewendet werden würde, hilfreich Tipps würden sehr geschätzt, wenn weitere Informationen erforderlich sind, fragen Sie einfach.
http: // www.dofactory.com/Patterns/PatternStrategy.aspx –
gute Antwort von dcastro. Er gab dir den ganzen Hinweis. Von diesem Zeitpunkt an müssen Sie es selbst tun. – Irfan