Ich habe so etwas in meinem Projekt, das Projekt ist irgendwie schon fertig (es funktioniert) Ich möchte nur wissen, ob es mit den SOLID-Grundsätzen vereinbar ist.
static public class Tools
{
static public GetProduct(this id){...}
static public GetProductCategory(this id){...}
static public GetUser(this id){...}
// I also have here methods like IsStringNull ...
// IsNull IsFalse, lots of stuff, everything static
}
und die Verwendung ist wie folgt
var UserThatCreatedCategoryForThisProduct =
prodId.GetProduct().CategoryId.GetProductCategory().Creator.GetUser();
Ich weiß, dass es offensichtlich ist, dass es die SRP verletzt, aber diese Klasse ist statisch und es enthält statische Methoden, die unabhängig voneinander sind, und es ist Art aus das gleiche, wenn ich eine statische Klasse für jede Methode erstellen würde
2 Stimmen
Das sind Erweiterungsmethoden? Die Syntax sieht ein wenig seltsam aus.
0 Stimmen
@peterchen: Das Anwendungsbeispiel zeigt, dass das definitiv der Plan ist, gut erkannt (ich habe es gelesen und nicht einmal bemerkt - das ist eine wirklich schlechte Idee!)
1 Stimmen
+1 Für eine gute Frage: Und ja... das verstößt gegen die SVB.