Ich habe heute Abend nachgedacht, während ich über eine Anwendung nachgedacht habe, die ich ändern muss, und es hat mich zum Nachdenken gebracht. Entity Framework-Entitäten sind POCO (Plain old CLR Objects), und in ASP.NET MVC verwendete Modelle sind normalerweise auch POCO. Dies bedeutet im Grunde nur Eigenschaften, keine Methoden.
Jetzt ermöglicht die OO-Programmierung normalerweise einem Objekt, seine Funktionalität zu kapseln, einschließlich seiner Eigenschaften sowie seiner Methoden. Dies ermöglicht Polymorphismus. Mit dem Aufkommen von POCO-Klassen sind Entwurfsmuster wie generische Repositories immer beliebter geworden. Wenn meine Objekte früher ihre eigenen CRUD-Operationen hatten, habe ich sie jetzt in einem Repository.
Ist dies nur eine Weiterentwicklung von OO, bei der CRUD-Operationen von den Objekten entfernt werden, damit sie entkoppelt werden können, oder sollten CRUD-Operationen in der Vergangenheit nicht auf Objektebene sein sollten und ich mich geirrt habe? Zum Teufel, vielleicht sind beide absolut legitim und waren es schon immer. Es ist nur eine Beobachtung, die mich zum Nachdenken brachte, also dachte ich mir, ich würde andere Meinungen einholen.