Сегодня вечером я думал о каком-то приложении, которое мне нужно изменить, и это заставило меня задуматься. Entity Framework Entity - это POCO (простые старые объекты CLR), а модели, используемые в ASP.NET MVC, обычно также POCO. Это в основном означает только свойства, а не методы.
Теперь ОО-программирование обычно позволяет объекту инкапсулировать свою функциональность, которая включает его свойства, а также методы, что позволяет полиморфизму происходить. С ростом использования классов POCO шаблоны проектирования, такие как универсальные репозитории, стали более популярными. Когда в прошлом у моих объектов были свои собственные операции CRUD, теперь у меня они есть в хранилище.
Является ли это просто эволюцией в ОО, когда операции CRUD удалены из объектов, чтобы их можно было разъединить, или, может быть, операции CRUD не должны были быть на уровне объектов в прошлом, и я ошибался? черт возьми, возможно, оба совершенно законны и всегда были. Это просто наблюдение, которое заставило меня задуматься, так что подумал, что я буду искать другие мнения.