Als «solid» getaggte Fragen

Mnemonik für eine Reihe von Entwurfsprinzipien: Einzelverantwortung, Offen-Geschlossen, Liskov-Substitution, Schnittstellentrennung, Abhängigkeitsinversion

5
Ist es sinnvoll, Code in der Hoffnung auf eine Qualitätsverbesserung im Miniformat umzugestalten, oder wird nur Code ohne großen Nutzen verschoben?
Beispiel Ich bin auf monolithischen Code gestoßen, der "alles" an einem Ort erledigt - Daten aus der Datenbank laden, HTML-Markup anzeigen und als Router / Controller / Aktion fungieren. Ich begann SRP anzuwenden, um Datenbankcode in eine eigene Datei zu verschieben, um bessere Namen für die Dinge zu erhalten, und …



5
Ist Überlastung ein Beispiel für das Open / Closed-Prinzip?
Wikipedia sagt "Software-Entitäten (Klassen, Module, Funktionen usw.) sollten zur Erweiterung geöffnet, zur Änderung jedoch geschlossen sein" Das Wort Funktionen ist mir aufgefallen und ich frage mich jetzt, ob wir davon ausgehen können, dass das Erzeugen einer Überladung für eine Methode als Beispiel für das Open / Closed-Prinzip angesehen werden kann …

4
Wie gebe ich eine Vorbedingung (LSP) in einer Schnittstelle in C # an?
Nehmen wir an, wir haben die folgende Schnittstelle - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } Voraussetzung ist, dass ConnectionString gesetzt / initialisiert wird, bevor eine der Methoden ausgeführt werden kann. Diese Voraussetzung kann etwas erreicht …

9
FESTE vs. statische Methoden
Hier ist ein Problem, auf das ich häufig stoße: Es soll ein Webshop-Projekt mit einer Produktklasse geben. Ich möchte eine Funktion hinzufügen, mit der Benutzer Bewertungen zu einem Produkt veröffentlichen können. Ich habe also eine Review-Klasse, die auf ein Produkt verweist. Jetzt brauche ich eine Methode, die alle Bewertungen zu …

4
Wie verändert sich das Denken über Entwurfsmuster und OOP-Praktiken in dynamischen und schwach typisierten Sprachen?
In diesem Sinne gibt es bereits eine ziemlich hilfreiche Frage (" Nicht-OOP-Entwurfsmuster? "), Aber ich bin neugieriger auf eine Übergangsperspektive für jemanden, der gerade erst mit dynamischen und schwach typisierten Sprachen anfängt. Das heißt: Nehmen wir an, ich programmiere seit vielen Jahren in C ++, C # oder Java und …

3
Gilt das Prinzip der Schnittstellentrennung für konkrete Methoden?
Da das Prinzip der Schnittstellentrennung vorschlägt, sollte kein Client gezwungen werden, sich auf Methoden zu verlassen, die er nicht verwendet. Daher sollte ein Client keine leere Methode für seine Schnittstellenmethoden implementieren, andernfalls sollte diese Schnittstellenmethode in eine andere Schnittstelle eingefügt werden. Aber wie wäre es mit konkreten Methoden? Sollte ich …


2
Wie soll ich mit der Validierung und Speicherung von Entitäten umgehen, wenn ich SRP folge?
Ich habe in letzter Zeit Clean Code und verschiedene Online-Artikel über SOLID gelesen. Je mehr ich darüber lese, desto mehr habe ich das Gefühl, nichts zu wissen. Angenommen, ich erstelle eine Webanwendung mit ASP.NET MVC 3. Angenommen, ich habe eine UsersControllermit einer CreateAktion wie dieser: public class UsersController : Controller …

5
Verstößt es gegen das Open-Closed-Prinzip, eine Konstante zu aktualisieren, die einen realen Wert darstellt?
Ich habe eine Klasse, die das jährliche Nettoeinkommen der Arbeiter berechnet. Es hat eine Konstante, die einen Steuerprozentsatz darstellt. Aber eines Tages hat sich der Steuersatz geändert, daher muss ich den Code korrigieren. Zeigt das Festlegen dieser Konstante einen Verstoß gegen das Open-Closed-Prinzip an , da postuliert wird, dass eine …


2
Prinzip der Schnittstellentrennung: Was tun, wenn sich die Schnittstellen erheblich überschneiden?
Aus agiler Softwareentwicklung, Prinzipien, Mustern und Praktiken: Pearson New International Edition : Manchmal überschneiden sich die von verschiedenen Gruppen von Clients aufgerufenen Methoden. Wenn die Überlappung gering ist, sollten die Schnittstellen für die Gruppen getrennt bleiben. Die gemeinsamen Funktionen sollten in allen überlappenden Schnittstellen deklariert werden. Die Serverklasse erbt die …


6
Was macht den Unterschied zwischen „Hire“ und einem ehrlichen „Fast“ für abschließende Interviews vor Ort aus? [geschlossen]
Geschlossen. Diese Frage ist nicht zum Thema . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so dass es beim Thema für Software Engineering Stapel Börse. Geschlossen vor 6 Jahren . Daher hatte ich kürzlich Vor-Ort-Interviews mit Google und Amazon und erhielt höfliche Ablehnungsschreiben, …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.