Vedo un sacco di classi che assomigliano a:
class Student extends Model {
public string major;
public string minor;
}
class Employee extends Model {
public string department;
public string building;
}
Questo tipo di classi sono principalmente utilizzate per contenere i dati. La mia domanda è, dovrebbero esistere questi alias per la classe Model solo perché hanno proprietà diverse? Al massimo, le differenze tra loro sono accessorie. Questi tipi di classi sono buoni o cattivi? Perché non vedo più di:
student = Model::fromArray(['major' => 'a', 'minor' => 'i']);
employee = Model::fromArray(['department' => 'd', 'building' => 'b']);
Questo è più sullo stile piuttosto che sull'applicazione specifica. Vedo che quando si parla di presentazione / visualizzazione, le persone non si preoccupano molto dei tipi, molti dati vengono passati come array al sottosistema di template e non si creano modelli di presentazione.
Anche gli oggetti Data Transfer non hanno comportamenti e ottengo una risposta da questo articolo LocalDTO sul perché DTO non dovrebbe essere usato localmente (solo per il controllo del tipo?). Sto cercando un caso più generale su quando utilizzare (o meno) questi comportamenti meno classi.