Я проявляю многоярусный подход с первым уровнем, являющимся разумным смещением удобочитаемости только сложностью решаемой проблемы. Если это не может пройти тест удобочитаемости, я обычно считаю код менее, чем хорошим.
У них веками была стратегия обработки данных. Фактически, вы можете и должны искать «Стратегию доступа к данным Microsoft», и вы найдете старые и новые ссылки (например, 1998 год и их стратегия OLEDB).
Я думаю, что вы ищете здесь с 2007 года, который, несмотря на то, что ему 2 года, касается XML, ADO.NET, данных, LINQ, SQL Server, Visual Studio Orcas, Entity Framework. ..они отвечают на вопрос Есть ли у Microsoft стратегия доступа к данным? :
Да, оказывается, у нас есть. Microsoft предусматривает платформу Entity Data Platform, которая позволяет клиентам определять общие Модель данных сущности в сервисах данных и приложения. Данные сущности Платформа - это видение нескольких выпусков, с будущими версиями отчетов инструменты, репликация, определение данных, безопасность и т. д. все строится вокруг общая модель данных сущности. ...
Майк Пиццо, архитектор, Data Программируемость
Надеюсь, это поможет.
Они пытаются решить проблему увеличения продаж и доли рынка. С этой целью различные группы внутри Microsoft пытаются решить проблему, как привлечь больше разработчиков и конечных пользователей к использованию их продуктов. Разные группы придумывают разные технологии, и, как и любая крупная компания, Microsoft изо всех сил пытается поддерживать согласованность своих технологий, а группы работают над достижением одной цели. Кроме того, по мере появления новых технологий им необходимо поддерживать (или, что еще лучше, задавать) темп, а также продолжать поддерживать старые технологии, в которые инвестировали их клиенты. Конечным результатом для любой достаточно крупной компании, включая Microsoft, является несколько запутанный выбор технологий.
Я не вижу смысла в этом вопросе. На самом деле, это немного троллинг.
Различия достаточно ясны, чтобы их прояснить тривиальное количество исследований.
Ваше замешательство - это наше разочарование. Многие из нас, кто принимает эти архитектурные решения для наших веб-сайтов, вскинули руки из-за отсутствия у Microsoft ясности и передовых методов разработки по этому вопросу.
Linq2Sql определенно обожгла мою команду.
Теперь мы создаем наш веб-сайт с использованием подхода Domain Driven Design и, в частности, луковой архитектуры Палермо ( http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ ). Бизнес-объекты - это просто POCO, которые не зависят от инфраструктуры.
Инфраструктура теперь обрабатывается NHibernate и настраиваемым ORM для нашей CMS. Болезненные затраты на их запуск намного перевешиваются знанием того, что сообщество будет продолжать продвигать NHibernate в лучшем направлении, и мы контролируем источник нашей ORM.
Я нахожу статью на http://msdn.microsoft.com/en-us/magazine/cc700331.aspx хорошим техническим введением в Entity Framework, если вы ' я не знаком с основными концепциями.
Вот раздел, имеющий отношение к этому вопросу, объясняющий некоторые цели EF и отношения к ADO.Net ...
ADO.NET Entity Framework - это эволюция ADO. NET и первая конкретная реализация EDM, обеспечивающая более высокий уровень абстракции при разработке на основе реляционной базы данных. В версии 1.0 команда была сосредоточена на создании основы платформы, а не просто на простом ORM, который позволит разработчикам работать с концептуальной или объектной моделью с очень гибким отображением и возможностью адаптации к высокой степени. отклонения от основного магазина.
Такая высокая степень гибкости и отличия от базового хранилища является ключом к тому, чтобы база данных и приложения могли развиваться отдельно. Когда в схему базы данных вносятся изменения, приложение изолируется от изменения Entity Framework, и вам часто не требуется переписывать части приложения, а просто обновлять файлы сопоставления, если необходимо, чтобы учесть это изменение.
Чтобы начать развитие платформы ADO.NET, Entity Framework строится на основе существующей модели поставщика ADO.NET 2.0, при этом существующие поставщики слегка обновляются для поддержки новой функциональности Entity Framework и ADO.NET 3.5. Мы решили реализовать поверх существующей модели поставщика ADO.NET, чтобы обеспечить модель поставщика, знакомую сообществу разработчиков.