Attualmente sto lavorando a un progetto in cui utilizziamo un framework che combina la generazione di codice e ORM insieme a UML per sviluppare software. I metodi vengono aggiunti alle classi UML e vengono generati in classi parziali dove "succede qualcosa". Ad esempio, una classe UML "Contenuto" potrebbe avere il metodo DeleteFromFileSystem (void). Quale potrebbe essere implementato in questo modo:
public partial class Content
{
public void DeleteFromFileSystem()
{
File.Delete(...);
}
}
Tutti i metodi sono progettati in questo modo. Tutto accade in queste gigantesche classi di dominio della bomba logica.
Questo è il modo in cui è fatto di solito MDA o DDD o simili? Per ora la mia impressione di MDA / DDD (che è stata chiamata da higherups) è che stordisce gravemente la mia produttività (tutto deve essere fatto in The Way) e che ostacola il lavoro di manutenzione dal momento che tutta la logica è legata, trincerata, intervallata nel citato bombe gigantesche.
Si prega di astenersi dall'interpretare questo come un rant - Sono solo curioso di sapere se questo è tipico MDA o una sorta di MDA estremo
Aggiorna
Riguardo all'esempio sopra, a mio parere, il contenuto non dovrebbe occuparsi dell'eliminazione come tale. Cosa succede se passiamo dallo storage locale ad Amazon S3, in tal caso dovremmo reimplementare questa funzionalità sparsa su più posti invece di un'unica interfaccia che possiamo fornire una seconda implementazione per.