Stavo pensando a stasera mentre riflettevo su alcune applicazioni che dovevo cambiare e mi ha fatto riflettere. Entity Framework Entities sono POCO (Plain old CLR Objects) ei modelli utilizzati in ASP.NET MVC sono generalmente anche POCO. Ciò significa fondamentalmente solo proprietà, nessun metodo.
Ora la programmazione OO normalmente consente ad un oggetto di incapsulare la sua funzionalità, che include sia le sue proprietà che i suoi metodi, questo permette al polimorfismo di accadere. Con l'aumento delle classi POCO utilizzate, i modelli di progettazione come i repository generici sono diventati più popolari. Quando in passato i miei oggetti avrebbero avuto le loro operazioni CRUD, ora li ho su un repository.
Questa è solo un'evoluzione in OO in cui le operazioni CRUD vengono rimosse dagli oggetti per consentire loro di essere disaccoppiati o forse le operazioni CRUD non dovrebbero essere state a livello di oggetto in passato e io ero nel torto? diamine, forse entrambi sono perfettamente legittimi e lo sono sempre stati. È solo un'osservazione che mi ha fatto pensare, quindi ho pensato di cercare altre opinioni.