Per riferimento - http://it.wikipedia.org/wiki/Single_responsibility_principle
Ho uno scenario di prova in cui in un modulo di applicazione è responsabile della creazione di voci di contabilità generale. Esistono tre attività di base che potrebbero essere svolte:
- Visualizza le voci di contabilità esistente in formato tabella.
- Crea una nuova voce di libro mastro usando il pulsante Crea.
- Fare clic su una voce del libro mastro nella tabella (menzionata nel primo puntatore) e visualizzarne i dettagli nella pagina successiva. È possibile annullare una voce di libro mastro in questa pagina.
(Ci sono altre due operazioni / validazioni in ogni pagina, ma per brevità la limiterò a queste)
Quindi ho deciso di creare tre diverse classi:
- LedgerLandingPage
- CreateNewLedgerEntryPage
- ViewLedgerEntryPage
Queste classi offrono i servizi che potrebbero essere svolti in quelle pagine e i test del selenio usano queste classi per portare l'applicazione in uno stato in cui potrei fare certe affermazioni.
Quando lo stavo rivedendo con il mio collega, lui fu sopraffatto e mi chiese di fare una sola lezione per tutti. Anche se ritengo che il mio design sia molto pulito, sono dubbioso se sto abusando del principio della responsabilità singola