Quando si violano SRP (Single Responsibility Principle)?
-
22-08-2019 - |
Domanda
SRP ( PDF versione; HTML versione) afferma che
Non ci dovrebbe essere più di un motivo per una classe di modificare
Quando si dà un'occhiata a Outlook, finestra Calendario Evento, ha "Salva e Chiudi".
Così, quando le funzionalità di uno o di entrambi Salva o Chiudi cambiamenti, che il pulsante dovrebbe cambiare. Essa viola ovviamente SRP.
Questa funzionalità sia di risparmiare tempo e comoda perché è ciò che la maggior parte degli utenti di si aspettano da fare quando si salva una nomina su un calendario.
Ma ora, la mia domanda è, quando altro si violano SRP diverso quando la funzione deve essere usuable in Outlook?
Soluzione
SRP non si applica alle interfacce utente. Tenete a mente che anche se il pulsante si chiama "Salva e chiudi" non ci può essere senza dubbio due metodi separati o tipi per gestire la funzionalità di risparmio e di chiusura. Il pulsante lega semplicemente quei due pezzi separati di funzionalità insieme.
Se si sente il bisogno di violare SRP allora avete bisogno di rivalutare il vostro approccio. Qualsiasi violazione SRP può essere riscritta in un nuovo metodo o tipo che espone la funzionalità composito mediante composizione dei due pezzi.