In primo luogo, prima che qualcuno urlasse, ho avuto difficoltà a sintetizzarlo in un titolo semplice. Un altro titolo potrebbe essere stato "Qual è la differenza tra un modello di dominio e un modello MVC?" o "Cos'è un modello?"Dove si inserisce il "livello della logica aziendale" in un'applicazione MVC?
Concettualmente, capisco che un modello sia il dato utilizzato dalle viste e dal controller. Oltre a ciò, sembra esserci una grande quantità di opinioni divergenti su ciò che costituisce il modello. Che cos'è un modello di dominio, un modello di app, un modello di vista, un modello di servizio, ecc.
Ad esempio, in una domanda recente che ho chiesto del modello di repository, mi è stato detto che il repository è vuoto parte del modello. Tuttavia, ho letto altre opinioni che il modello dovrebbe essere separato dal modello di persistenza e dal livello della logica di business. Dopotutto, il modello di Repository non dovrebbe disaccoppiare il metodo di persistenza concreto dal modello? Altre persone dicono che c'è una differenza tra il modello Dominio e il modello MVC.
Facciamo un semplice esempio. AccountController incluso nel progetto predefinito MVC. Ho letto diverse opinioni sul fatto che il codice Account incluso è di scarsa progettazione, viola SRP, ecc. Ecc. Se si dovesse progettare un modello di abbonamento "corretto" per un'applicazione MVC, quale sarebbe?
Come si separano i servizi ASP.NET (provider di appartenenze, provider di ruoli, ecc.) Dal modello? O lo faresti affatto?
Per come la vedo io, il modello dovrebbe essere "puro", forse con logica di validazione .. ma dovrebbe essere separato dalle regole aziendali (oltre alla convalida). Ad esempio, supponiamo tu abbia una regola aziendale che dice che qualcuno deve essere inviato via email quando viene creato un nuovo account. Questo a mio parere non appartiene davvero al modello. Allora, dove appartiene?
Qualcuno deve fare attenzione a questo problema?
"na domanda recente ho chiesto il Pattern Repository, mi è stato detto di punto in bianco che il repository è parte del modello "Se ricordo bene, il rispondente ha cambiato la sua risposta. Questo è sbagliato. – jfar
Quindi perché ho avuto difficoltà a trovare un buon titolo;) –
Ecco perché dovresti fare quattro domande separate. – jfar