Я думаю, что здесь нужно подумать о двух вещах:
Одна из худших вещей, которую вы можете сделать, - это перегружать дизайн и создавать систему N-уровня, когда она не нужна.Если нет необходимости иметь слой доступа к данным, не добавляйте его туда.
Узнайте требования к вашей системе, если вам нужна возможность масштабирования, тогда вывам придется проектировать вашу систему по уровням и использовать более масштабируемые методы доступа к данным, а также сервисы для получения / обновления ваших данных.
Во-вторых, следует ли вам бросать эти вещи вБаза данных, как пользователь добавляет вещи в корзину.Я не думаю, что это обязательно проблема n-teir.Поездки в БД являются дорогостоящими, особенно когда вы можете просто хранить их на стороне клиента / сеанса до тех пор, пока ...
С учетом сказанного, мне лично нравится использовать уровень доступа к данным, и я считаю, что он делаеточиститель кода, и он заставляет вас стандартизировать, как вы получаете доступ и изменяете свои данные.Вместо того, чтобы каждый класс / метод мог изменять данные в режиме adhoc, они должны делать это через четко определенный набор интерфейсов на уровне DAO, которыми вы можете управлять, проводить аудит и т. Д. Используя уровень DAO, это также помогает имитировать объект, которыйнеоценимо, когда дело доходит до тестирования.
Ссылки для разработки N-Teir:
- Сначала просто поймите, чего вы пытаетесь достичь!
- Что такое архитектура N-Teir
- Учебник Asp.net
- MSDN по разработке приложений (от N-уровня до.NET)