Ich habe einige Helferklassen in meinem Projekt. Ich habe gelesen, dass dies eine schlechte Sache ist, aber ich vermute, dass "Helper" das falsche Suffix für sie ist. Ich werde ein Beispiel geben.
Erstens habe ich eine User
Klasse. Ich brauche eine Methode GetSuggestedFriends()
für einen Benutzer. Ich möchte die Logik zum Bestimmen der Liste der vorgeschlagenen Freunde aus der User
Klasse heraushalten , damit sie nicht aufgebläht wird. Im Moment habe ich eine, FriendshipHelper
die eine User
in ihrem Konstruktor erhält . Es enthält die Logik, um vorgeschlagene Freunde zu finden, und ich kann jetzt anrufen myUser.FriendshipHelper.GetSuggestedFriends()
.
Ursprünglich gab es FriendshipHelper
nur statische Methoden, und User
in jedes wurde ein Objekt übergeben. Wenn ich die Klasse jetzt von Grund auf neu schreiben würde, würde ich sie vielleicht nennen FriendshipManager
- sie macht auch Dinge wie das Hinzufügen und Entfernen von Freunden.
Ich habe auch gelesen, dass der ...Manager
Unterricht schlecht ist. Wie soll ich diese Klasse nennen? Oder ist das "schlechter Code"? Wo sollte die Logik zum Abrufen vorgeschlagener Freunde, aktueller Freunde und zum Hinzufügen und Entfernen von Freunden live sein? Sicher nicht alle in einer Riesenklasse User
?
Facebook
?