Entity Framework и связь
У меня было небольшое обсуждение с моим другом об использовании платформы Entity. У меня был проект, в котором я сделал 3-х уровневое решение с структурой сущностей в качестве моего уровня данных и использовал объекты передачи данных для перехода от бизнес-уровня к пользовательскому интерфейсу. Мне очень понравилась слабая связь, которую он дает, так как позже я могу изменить структуру сущности, например, с помощью hibernate. Мой друг, с другой стороны, утверждал, что цель платформы Entity состояла в том, чтобы смоделировать ее, чтобы она могла использоваться в пользовательском интерфейсе. Как вы соединяете структуру сущностей со своим решением?
1 ответ
Я вижу идею, которую мой друг предлагает со сменными слоями, такими как Hibernate и EF, но я думаю, что это немного радикально, так как эти две платформы уже содержат возможности DL->BL. Я думаю, что причина использования фреймворков, таких как EF и Hibernate, заключается в следующем:
1. Прямое использование сущностей в бизнес-логике
2. Независимость типа базы данных
3. Автоматическое кеширование
4. Абстракция SQL
Ожидание того, что подобная структура ТАКЖЕ должна быть слабо связана с уровнями, просто потребует слишком большого разбора запросов, обтекания и развертывания объектов и различного шума, чтобы восполнить взаимозаменяемость, которая никогда не станет реальностью. На мой взгляд, его предложение приведет к эквиваленту:
DL -> DL -> BL -> UL
Кто-нибудь согласен с этим?