Nel mio progetto C #, ho una classe di dominio chiamata 'Utente'. questa classe conterrà l'id, il nome, il cognome, il DoB, l'indirizzo di casa, il telefono, ecc. E abbiamo anche un tipico web API REST (cioè api / utenti) per leggere / creare / aggiornare / cancellare l'utente. Quando creiamo un metodo (in classe UsersController) per restituire i dettagli di un singolo utente, possiamo farlo restituire un tipo User (o UserDTO, UserVM o qualunque classe rappresenti i dettagli dell'utente) come di seguito. Quindi i dettagli dell'utente possono essere visualizzati / modificati.
public class UsersController {
.......
public User GetById(int id) {....}
.......
}
Abbiamo anche un altro metodo per restituire un utente della lista con alcune informazioni semplificate (id, nome, solo numero di telefono). In questo modo, quando visualizziamo l'elenco degli utenti, possiamo trovare le informazioni più importanti (ad esempio il nome, il numero di telefono) su ciascun utente.
Quindi dobbiamo creare una nuova classe per rappresentare questi dettagli utente semplificati. La mia domanda è qual è la convenzione di denominazione della classe per l'elemento della lista (come mostra XXXXX sotto)?
public List<XXXXXX> Get(...)
Per ora, i miei colleghi usano il colpo della convenzione di denominazione:
public class UsersController {
.......
public UserDTO GetById(int id) {....}
public List<UserListDTO> Get(...) {...}
.......
}
UserDTO --- per i dettagli di un singolo utente.
UserListDTO --- per un singolo utente in un elenco di utenti restituiti. Ma dal mio punto di vista personale, questo nome di classe è più simile a qualcosa che rappresenta l'intera lista invece di un singolo elemento di quella lista.
Mi piacerebbe sapere qual è la convenzione di denominazione della classe nel tuo progetto per questo scenario.
--- Aggiorna ---
Questo scenario è abbastanza simile con il sito web di Amazon. Ad esempio, quando cerchi "tastiera meccanica" su Amazon.com, la pagina dei risultati di ricerca mostra l'elenco dei prodotti con i dettagli più importanti per ciascuno (nome del prodotto, prezzo del prodotto, immagine del prodotto, valutazione, ecc.). Ma quando si fa clic su uno dei prodotti, la pagina mostra ulteriori dettagli su quel prodotto (ad esempio dettagli sulle specifiche del prodotto, ecc.). Per la pagina dei dettagli del prodotto, possiamo denominare la classe come "Prodotto" o "ProductDetail". Ma qual è il nome corretto della classe per ogni prodotto nella pagina di elenco dei prodotti? 'SimplifiedButImportantProductDetail'?
--- Aggiornamento 2 ---
Un altro esempio simile potrebbe essere:
Se una classe denominata Question
rappresenta le informazioni in questa pagina - tutti i dettagli della domanda stessa e le sue risposte, commenti, ecc., qual è la convenzione di denominazione delle classi per le informazioni evidenziate di seguito? 'QuestionSummary'?