Als «single-responsibility» getaggte Fragen

Das Prinzip der Einzelverantwortung besagt, dass jedes Modul in einem System für ein einzelnes Merkmal oder eine einzelne Funktionalität oder die Aggregation zusammenhängender Funktionen verantwortlich sein sollte. Eine andere übliche Art zu sagen ist, dass jedes Modul nur einen Grund für eine Änderung haben sollte.

6
Ist die Protokollierung neben einer Implementierung eine SRP-Verletzung?
Wenn ich an agile Softwareentwicklung und alle Prinzipien (SRP, OCP, ...) denke, frage ich mich, wie ich mit Protokollierung umgehen soll. Ist die Protokollierung neben einer Implementierung eine SRP-Verletzung? Ich würde sagen, yesweil die Implementierung auch ohne Protokollierung laufen soll. Wie kann ich die Protokollierung besser implementieren? Ich habe einige …

6
Verstößt die Mehrfachvererbung gegen das Prinzip der Einzelverantwortung?
Wenn Sie eine Klasse haben, die von zwei verschiedenen Klassen erbt, bedeutet dies nicht, dass Ihre Unterklasse automatisch (mindestens) zwei Dinge erledigt, eines von jeder Superklasse? Ich glaube, es gibt keinen Unterschied, wenn Sie mehrere Schnittstellenvererbung haben. Bearbeiten: Um klar zu sein, glaube ich, dass, wenn Unterklassen mehrerer Klassen gegen …


5
Ist das SRP-Prinzip (Single Responsibility Principle) ein Ziel?
Betrachten Sie zwei UI-Designer, die "benutzerattraktive" Designs entwerfen möchten. "Benutzerattraktion" ist ein Konzept, das nicht objektiv ist und nur im Kopf der Designer liegt. So könnte Designer A beispielsweise rote Farbe aufnehmen, während Designer B blaue Farbe aufnimmt. Designer A erstellt ein Layout, das sich vollständig von Designer B unterscheidet, …


7
Soll ich große Funktionen umgestalten, die zumeist aus einer Regex bestehen? [geschlossen]
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 5 Jahren . Ich habe gerade eine Funktion geschrieben, die ungefähr 100 …

4
Wie spezifisch sollte das Muster der Einzelverantwortung für Klassen sein?
Angenommen, Sie haben ein Konsolenspielprogramm, das alle Arten von Eingabe- / Ausgabemethoden für und von der Konsole bietet. Wäre es klug sein , sie alle in einem einzigen zu halten inputOutputKlasse oder sie brechen , um spezifischere Klassen nach unten wie startMenuIO, inGameIO, playerIO, gameBoardIOetc. , so dass jede Klasse …

4
Große Klasse mit einer Verantwortung
Ich habe eine 2500-Linien- CharacterKlasse, die: Verfolgt den internen Status des Charakters im Spiel. Lädt diesen Zustand und behält ihn bei. Verarbeitet ~ 30 eingehende Befehle (normalerweise = leitet sie an weiter Game, aber einige schreibgeschützte Befehle werden sofort beantwortet). Erhält ca. 80 Anrufe Gamebezüglich der durchgeführten Aktionen und der …



3
Arbeiten Sie in Python nach dem Prinzip der einmaligen Verantwortung (Single Responsibility Principle, SRP), wenn Anrufe teuer sind
Einige Basispunkte: Python-Methodenaufrufe sind aufgrund ihrer Interpretation "teuer" . Wenn Ihr Code einfach genug ist, hat das Auflösen von Python-Code theoretisch negative Auswirkungen, abgesehen von der Lesbarkeit und Wiederverwendung ( ein großer Gewinn für Entwickler, nicht so sehr für Benutzer ). Das Single-Responsibility-Prinzip (SRP) hält den Code lesbar und ist …

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 …


3
IValidatableObject vs Single Responsibility
Mir gefällt der Extnesibility Point von MVC, mit dem Ansichtsmodelle IValidatableObject implementieren und benutzerdefinierte Validierungen hinzufügen können. Ich versuche, meine Controller schlank zu halten, wobei dieser Code die einzige Validierungslogik ist: if (!ModelState.IsValid) return View(loginViewModel); Ein Anmeldeansichtsmodell implementiert beispielsweise IValidatableObject und ruft das ILoginValidator-Objekt über die Konstruktorinjektion ab: public interface …

5
Code-Wiederholung gegen Multi-Responsible-Methode
Ich versuche, dem Single Responsibility Principle (SRP) zu folgen und auch Code-Wiederholungen wegzulassen. Es gibt jedoch häufig Stellen, an denen es Code-Wiederholungen gibt, die nichts anderes als Codeblöcke von Aufrufen sind, die sich nicht in eine zumindest aussagekräftige benannte Methode extrahieren lassen: DoAction1(); DoAction2(); if (value) DoAction3(); DoAction4(); Was ist …

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.