Denken Sie zuallererst an das Problem. Wenn Sie die Prinzipien von YAGNI oder SOLID blind anwenden, können Sie sich später verletzen. Ich hoffe, dass wir alle verstehen können, dass es keinen "einen" Designansatz gibt, der für alle Probleme geeignet ist. Sie können Beweise dafür sehen, wenn ein Geschäft einen Hut verkauft, der als "Einheitsgröße" beworben wird, aber nicht zu Ihrem Kopf passt. Es ist entweder zu groß oder zu klein.
Stattdessen ist es besser, die Prinzipien und Probleme zu verstehen, mit denen sich SOLID befasst. sowie die Prinzipien und Probleme, die YAGNI anzugehen versucht. Sie werden feststellen, dass sich einer mit der Architektur Ihrer Anwendung befasst und der andere mit dem gesamten Entwicklungsprozess. In einigen Fällen kann es zu Überlappungen kommen, es handelt sich jedoch um deutlich unterschiedliche Probleme.
YAGNI (Sie werden es nicht brauchen) geht es darum, Zeit für Entwickler zu sparen, indem Sie einer Brücke, die nur einen 3 Fuß breiten Bach überspannen soll, Stahl-Stahlbetonfundamente hinzufügen, wenn eine einfachere Holzbrücke gerade noch ausreicht fein. Wenn wir einen kilometerlangen Fluss überspannen und mehrere Sattelzugmaschinen unterstützen müssen, brauchen wir natürlich diese zusätzlichen Fundamentarbeiten. Im Wesentlichen fordert YAGNI Sie auf, das Gesamtbild und das Design für die aktuellen Anforderungen zu betrachten. Es geht um das Problem, etwas zu kompliziert zu machen, da wir eine Reihe potenzieller Bedürfnisse antizipieren, die der Kunde noch nicht identifiziert hat.
SOLID kümmert sich darum, wie wir sicherstellen, dass die Brückenteile richtig zusammenpassen und im Laufe der Zeit gewartet werden können. Sie können die SOLID-Prinzipien sowohl auf die Holzbrücke als auch auf die Stahlbetonbrücke anwenden.
Kurz gesagt, diese beiden Konzepte stehen nicht notwendigerweise in Konflikt miteinander. Wenn Sie auf eine Situation stoßen, in der Sie glauben, dass dies der Fall ist, ist es Zeit, einen Blick auf das Gesamtbild zu werfen. Abhängig von Ihrer Schlussfolgerung können Sie sich dafür entscheiden, einen Teil der SOLID-Prinzipien abzuschaffen, oder Sie entscheiden, dass Sie sie wirklich brauchen.
SOLID principle vs YAGNI
?