Mnemonik für eine Reihe von Entwurfsprinzipien: Einzelverantwortung, Offen-Geschlossen, Liskov-Substitution, Schnittstellentrennung, Abhängigkeitsinversion
Es scheint ziemlich klar zu sein, dass "Prinzip der einheitlichen Verantwortung" nicht "nur eine Sache" bedeutet. Dafür sind Methoden da. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin sagt, dass "Klassen nur einen Grund haben …
Bei einem kürzlich durchgeführten Vorstellungsgespräch konnte ich keine Frage zu SOLID beantworten - über die grundlegende Bedeutung der verschiedenen Prinzipien hinaus. Es nervt mich wirklich. Ich habe ein paar Tage lang herumgegraben und muss noch eine zufriedenstellende Zusammenfassung finden. Die Interviewfrage lautete: Wenn Sie sich ein .Net-Projekt ansehen würden, von …
Angenommen, wir haben eine Liste von Aufgabenentitäten und einen ProjectTaskUntertyp. Aufgaben können jederzeit geschlossen werden, es sei denn ProjectTasks, sie können nicht geschlossen werden, sobald sie den Status Gestartet haben. Die Benutzeroberfläche sollte sicherstellen, dass die Option zum Schließen eines gestarteten ProjectTaskObjekts niemals verfügbar ist. In der Domäne sind jedoch …
Wenn ein Quadrat eine Art Rechteck ist, warum kann ein Quadrat dann nicht von einem Rechteck erben? Oder warum ist es ein schlechtes Design? Ich habe Leute sagen hören: Wenn Sie Square von Rectangle ableiten lassen, sollte ein Square überall dort verwendbar sein, wo Sie ein Rechteck erwarten Was ist …
Ich mag SOLID, und ich versuche mein Bestes, es zu verwenden und anzuwenden, wenn ich mich entwickle. Ich habe jedoch das Gefühl, dass der SOLID-Ansatz Ihren Code in 'Framework'-Code verwandelt - dh Code, den Sie entwerfen würden, wenn Sie ein Framework oder eine Bibliothek für andere Entwickler erstellen würden. Ich …
Das Prinzip der Einzelverantwortung ist in Wikipedia definiert als Das Prinzip der Einzelverantwortung ist ein Computerprogrammierungsprinzip, das besagt, dass jedes Modul, jede Klasse oder Funktion die Verantwortung über einen einzelnen Teil der von der Software bereitgestellten Funktionalität haben sollte und dass die Verantwortung vollständig von der Klasse eingekapselt werden sollte …
Es scheint, als hätte Java die Fähigkeit, Klassen zu deklarieren, die seit Ewigkeiten nicht mehr abgeleitet werden können, und jetzt hat es auch C ++. Warum ist dies jedoch angesichts des Open / Close-Prinzips in SOLID sinnvoll? Für mich finalklingt das Schlüsselwort wie friend- es ist legal, aber wenn Sie …
Die meisten Projekte, an denen ich arbeite, betrachten Entwicklung und Komponententests isoliert, was das Schreiben von Komponententests zu einem späteren Zeitpunkt zu einem Albtraum macht. Mein Ziel ist es, das Testen während der Entwurfsphasen auf hoher und niedriger Ebene im Auge zu behalten. Ich möchte wissen, ob es gut definierte …
Was ist der Zweck von IOC-Containern? Die kombinierten Gründe dafür können auf das Folgende vereinfacht werden: Bei Verwendung der OOP / SOLID-Entwicklungsprinzipien wird die Abhängigkeitsinjektion unordentlich. Entweder haben Sie die obersten Einstiegspunkte, die Abhängigkeiten für mehrere Ebenen unter sich verwalten und Abhängigkeiten rekursiv durch die Konstruktion leiten, oder Sie haben …
In den letzten Jahren haben wir langsam und schrittweise auf immer besser geschriebenen Code umgestellt. Wir beginnen endlich, auf etwas umzusteigen, das zumindest SOLID ähnelt, aber wir sind noch nicht ganz da. Seit dem Wechsel ist eine der größten Beschwerden der Entwickler, dass sie es nicht ertragen können, Dutzende und …
Ich versuche, die SOLID-Prinzipien von OOP zu verstehen, und bin zu dem Schluss gekommen, dass LSP und OCP einige Ähnlichkeiten aufweisen (um nicht mehr zu sagen). Das Open / Closed-Prinzip besagt, dass "Software-Entitäten (Klassen, Module, Funktionen usw.) für Erweiterungen offen, für Änderungen jedoch geschlossen sein sollten". LSP gibt in einfachen …
Meine Kollegen sagen gerne "Protokollierung / Caching / etc. Ist ein Querschnittsthema" und verwenden dann überall den entsprechenden Singleton. Dennoch lieben sie IoC und DI. Ist es wirklich eine gute Entschuldigung, das SOLI D- Prinzip zu brechen ?
Ich versuche gerade, SOLID herauszufinden. Das Prinzip der Abhängigkeitsinversion bedeutet also, dass zwei Klassen nicht direkt, sondern über Schnittstellen kommunizieren sollten. Beispiel: Wenn class Aeine Methode vorhanden ist, die einen Zeiger auf ein Objekt vom Typ erwartet class B, sollte diese Methode tatsächlich ein Objekt vom Typ erwarten abstract base …
Wann werden die SOLID-Prinzipien zu YAGNI? Als Programmierer machen wir ständig Kompromisse zwischen Komplexität, Wartbarkeit, Entwicklungszeit und so weiter. Unter anderem sind für mich die SOLID-Prinzipien und YAGNI zwei der klügsten Richtlinien für Entscheidungen. Wenn du es nicht brauchst; Baue es nicht und halte es sauber. Wenn ich mir zum …
Mit der Zeit konnte ich zwei Teile von SOLID verstehen - das „S“ und das „O“. "O" - Ich habe das Open Closed-Prinzip mithilfe von Vererbung und Strategiemuster gelernt. "S" - Ich habe beim Lernen von ORM das Prinzip der Einzelverantwortung gelernt (die Persistenzlogik wird von Domänenobjekten entfernt). In ähnlicher …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.