Ich denke, viele Leute versuchen, Lösungen zu überdenken. Sie verfolgen den "Adam & Eve" -Ansatz, wenn ein etwas praktischerer Ansatz die Dinge erheblich vereinfachen würde.
Spezialisierte Klassen sind nicht böse, sie sind die natürliche Folge von Sound-Software-Design.
Meiner Meinung nach verstehen viele Programmierer dies nicht, und es gibt kein Buch, von dem ich weiß, dass es dies völlig klar macht.
Eine andere Sache, die sicherlich hilft, ist TDD, mit der Sie verstehen, wie Sie die Klasse in der Praxis einsetzen werden, und in vielen Fällen den Tag retten können, da sie frühzeitig mögliche Probleme / Einschränkungen aufzeigt.
Zuletzt ist eine andere SEHR wichtige Sache, nach der ich suchen würde, wenn ich Sie war, Entwurfsmuster. Designmuster sind, wie Leute, die schlauer sind als Sie oder ich, Programmierprobleme lösen. Die Idee hinter Mustern, raten Sie mal, ist, dass sie nicht als Kochbücher verwendet werden sollen, sondern als Rezepte, die Sie nur zuschlagen, sondern in erster Linie durchdacht sind und Ihre Anwendungsdomäne verstehen.
Eine kluge Verwendung von Mustern reduziert die Menge der zu verwaltenden Details erheblich.
Eine gute Entwurfsmusterbibliothek, die genau auf Ihre Bedürfnisse zugeschnitten ist, ist von unschätzbarem Wert. Sehen wir uns ein sehr einfaches Beispiel an, um die Dinge in einen Kontext zu bringen:
Stellen Sie sich vor, Sie haben ein Formular, in dem sich andere Formulare aktualisieren müssen, wenn eine Schaltfläche gedrückt wird. Dies ist ein typisches "Beobachter" -Muster. Sie haben ein Subjekt und mehrere Beobachter, die sich beim Subjekt registrieren. Warum müssen Sie eine Schnittstelle implementieren? Sie können einfach die Methoden hinzufügen oder, noch besser, eine Benutzeroberfläche für die Beobachter und eine allgemeine Liste für das Thema verwenden. Jetzt haben Sie das Beste aus beiden Welten: Unabhängigkeit für die Beobachter und keine launischen Dinge zu diesem Thema.
Hoffe es macht Sinn für dich!
Andrea