Sto lavorando al refactoring di un mio progetto precedente per seguire il paradigma di Clean Architecture (e amarlo fino ad ora) e uno dei miei componenti mi sta causando un po 'di confusione in relazione al fatto che debba esistere o meno come Usecase.
Esempio semplice Ad esempio, il requisito è che ci sia una schermata di informazioni di contatto, che visualizzi le risposte precedenti e dia agli utenti la possibilità di inviare aggiornamenti.
Ho due casi d'uso (1 utente invia informazioni di contatto, 1 visualizza informazioni di contatto).
O è solo 1 UseCase (Modifica le informazioni di contatto, con 2 funzioni per tornare precedente e anche inviare)?
Il mio esempio effettivo Grassetto è il caso d'uso di cui non sono sicuro se vuoi saltare a quello.
Lo schermo stesso è una griglia di 10 immagini che l'utente può selezionare per avere quell'immagine presente altrove nell'applicazione. Nove di queste immagini sono risorse nel progetto, una è un punto in cui un utente può caricare un'immagine propria e la selezione dell'utente è memorizzata in Preferenze condivise.
Use Cases:
-
L'utente seleziona un'immagine
Questo è sicuramente un caso d'uso e la logica di business che sta dietro sentimi perché L'utente sta compiendo un'azione nel livello vista e aggiornerò il mio livello dati (repository) con la loro selezione. Perfetto.
-
L'utente carica la propria immagine- Anche questo è un caso d'uso. Utente carica la propria immagine e fa del lavoro per memorizzarla, oltre che selezionare è come la loro selezione. Quindi due pezzi di funzionalità in un solo utilizzo caso, che ha senso. Si adatta all'intero requisito. Perfetto
-
Opzioni di visualizzazione per utente? - Questo è quello che mi lancia per un giro. Quindi, quando l'utente naviga su questa schermata, ho bisogno di avviarlo visualizzando il 10 opzioni per l'utente da selezionare tra, oltre all'evidenziazione l'immagine selezionata in precedenza. Quindi è un caso d'uso separato per me dire Opzioni di visualizzazione o ottenere opzioni? Oppure, dal momento che 9 di queste immagini sono in risorse, questa è solo una parte della mia impostazione? Se è così, posso creare solo un caso d'uso per recuperare l'immagine caricata dell'utente?
So di avere alcune altre istanze come questa in cui è presente un set di set di dati iniziale.
La maggior parte delle volte proviene da un'API o dal database e fa parte di una regola aziendale più completa che ha senso come UseCase. Sono solo un po 'insicuro per casi come questo, dove forse sto leggendo da un file o caricando da alcune risorse esistenti.
Grazie per il consiglio!