Frage

SRP ( PDF Version; HTML Version) besagt, dass

  

Es soll nie mehr als ein Grund für eine Klasse zu ändern

Wenn Sie einen Blick auf Outlook nehmen, Kalenderereignis Fenster, es hat "Save und Schließen".

alt text

So

, wenn die Funktionalitäten von beiden oder beide Speichern oder Schließen Änderungen, sollte diese Schaltfläche ändern. Es verletzt offensichtlich SRP.
Diese Funktionalität sowohl spart Zeit und convinient denn das ist, was die meisten Benutzer erwartet tun, wenn sie eine auf einem Kalender ernennen speichern.

Aber jetzt ist meine Frage, wenn sonst tun verletzen Sie SRP außer wenn die Funktion müssen in Outlook usuable sein?

War es hilfreich?

Lösung

SRP gilt nicht für UIs. Beachten Sie, dass, auch wenn die Taste aufgerufen wird, „Speichern und Schließen“ es zweifellos zwei getrennte Verfahren sein können oder Typen das Speichern und Schließen Funktionalität zu behandeln. Der Knopf einfach bindet diese beiden getrennten Teile der Funktionalität zusammen.

Wenn Sie das Bedürfnis verspüren, SRP zu verletzen, dann müssen Sie Ihren Ansatz neu zu bewerten. Jede SRP Verletzung kann in eine neue Methode refactored oder Art, die die zusammengesetzte Funktion durch Zusammensetzung der beiden Stücke aussetzt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top