Sto lavorando su un'app ASP.NET MVC e ho preso l'abitudine di inserire quelli che sembrano utili e utili getter nelle mie classi modello / entità.
Ad esempio:
public class Member
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string PhoneNumber { get; set; }
public string FullName
{
get { return FirstName + " " + LastName; }
}
public string FormattedPhoneNumber
{
get { return "(" + PhoneNumber.Substring(0, 3) + ") " + PhoneNumber.Substring(3, 3) + "-" + PhoneNumber.Substring(6); }
}
}
Mi chiedo se le persone pensino a FullName
e FormattedPhoneNumber
getter.
Semplificano la creazione di formati di dati standardizzati in tutta l'app e sembrano risparmiare molto codice ripetuto, ma si potrebbe sicuramente sostenere che il formato dei dati è qualcosa che deve essere gestito nella mappatura dal modello alla visualizzazione- modello.
In effetti, inizialmente stavo applicando questi formati di dati nel mio livello di servizio in cui eseguivo la mia mappatura, ma stava diventando un peso dover scrivere continuamente i formattatori quindi applicarli in molti posti diversi. Ad esempio, uso il "Nome completo" nella maggior parte delle visualizzazioni e dover digitare qualcosa come model.FullName = MappingUtilities.GetFullName(entity.FirstName, entity.LastName);
in tutto il posto mi è sembrato molto meno elegante rispetto alla semplice digitazione di model.FullName = entity.FullName
(oppure, se si utilizza qualcosa come AutoMapper, potenzialmente non si digita nulla affatto).
Quindi, dove si disegna la linea quando si tratta di formattazione dei dati. È "ok" per eseguire la formattazione dei dati nel modello o è un "odore modello"?
Nota: non ho alcun html nel mio modello. Io uso helper html per questo. Sto parlando rigorosamente di formattazione o combinazione di dati (e in particolare di dati che vengono usati frequentemente).