Я программист Winforms раньше; Я всегда разделяю программы, которые пишу в двух частях: front-end (Winforms) и средний уровень (облегчается с помощью Remoting/WCF)Можно ли создать веб-программу для взаимодействия с агностическим слоем базы данных?
При таком подходе интерфейсный код не может получить доступ к Linq или System.Data. SqlClient. Но это имеет дополнительное преимущество в том, что средний уровень является мгновенным SOA-гражданином (сервис-ориентированная архитектура), который может использоваться в сценариях B2B, агностиках баз данных и в Интернете, даже если это просто приложение Winforms.
Теперь я изучаю веб-навыки. Используя проект SportsStore из книги Pro ASP.NET MVC, неизбежно, что я бы сравнил мой старый подход (?) (Средний уровень) и подход хранилища к этой книге. Подход репозитория предоставляет механизм доступа к данным (Linq to SQL) непосредственно на интерфейсе (SportsStore.WubUI). Используя подход репозитория, SportsStore.WebUI все еще имеет прямое подключение к базе данных.
Вопрос в том, что на веб-программах я должен стремиться к тому, чтобы интерфейс был интерфейсом только к среднему уровню (поэтому интерфейс может быть агрегированным по базе данных, а средний уровень - мгновенным SOA-гражданином) , или я должен использовать базу данных напрямую (с помощью подхода репозитория, ORM или аналогичного) на front-end?