In letzter Zeit habe ich angefangen zu denken, dass es eine schlechte Sache ist, viele Manager-Klassen in Ihrem Design zu haben. Die Idee ist noch nicht so ausgereift, dass ich ein überzeugendes Argument vorbringen könnte, aber hier sind einige allgemeine Punkte:
Ich fand es viel schwieriger für mich, Systeme zu verstehen, die stark von "Managern" abhängen. Dies liegt daran, dass Sie neben den eigentlichen Programmkomponenten auch verstehen müssen, wie und warum der Manager verwendet wird.
Manager scheinen die meiste Zeit verwendet zu werden, um ein Problem mit dem Design zu lindern, zum Beispiel, wenn der Programmierer keine Möglichkeit gefunden hat, das Programm Just Work TM zu erstellen, und sich auf Manager-Klassen verlassen musste, damit alles richtig funktioniert.
Natürlich können Krippen gut sein. Ein naheliegendes Beispiel ist eines EventManager
meiner Lieblingskonstrukte aller Zeiten. : P Mein Punkt ist, dass Manager häufig überlastet zu sein scheinen und aus keinem anderen Grund als ein Problem mit der Programmarchitektur zu verschleiern.
Sind Manager-Klassen wirklich ein Zeichen für schlechte Architektur?
EventManager
ist ein schrecklicher Name für eine Klasse. Es hat angeblich etwas mit Ereignissen zu tun , aber was ?
Of course, mangers can be good. An obvious example is an EventManager
erklärt alles genau dort. Ein Missbrauch des Konzepts ist schlechte Architektur, aber es gibt legitime Anwendungsfälle. Das gleiche gilt für fast alles.