Myślałem dziś wieczorem, zastanawiając się nad aplikacją, którą muszę zmienić i przyszło mi to do głowy. Entity Framework Entities to POCO (Plain old CLR Objects), a modele używane w ASP.NET MVC są zwykle również POCO. Zasadniczo oznacza to tylko właściwości, bez metod.
Teraz programowanie OO normalnie pozwala obiektowi obudować jego funkcjonalność, która obejmuje zarówno jego właściwości, jak i metody, co pozwala na wystąpienie polimorfizmu. Wraz ze wzrostem liczby klas POCO, wzorce projektowe, takie jak repozytoria ogólne, stały się bardziej popularne. Kiedy w przeszłości moje obiekty miały własne operacje CRUD, teraz mam je w repozytorium.
Czy to tylko ewolucja w OO, w której operacje CRUD są usuwane z obiektów, aby umożliwić ich oddzielenie, czy może operacje CRUD nie powinny być w przeszłości na poziomie obiektu, a ja się myliłem? cholera, może oba są całkowicie uzasadnione i zawsze były. To tylko spostrzeżenie, które skłoniło mnie do myślenia, więc pomyślałem, że będę szukał innych opinii.