Я пытаюсь реализовать уровень бизнес-логики с использованием нескольких вариантов использования для сохранения данных о бронировании автомобиля. Я немного смущен относительно того, где должен быть реализован шаблон хранилища. Должен ли я использовать его в BLL или DAL? Это звучит очень просто, но я теряюсь на этапе проектирования. Если шаблон репозитория не подходит для BLL, то какой из них. Любая помощь/советы приветствуются.Образец репозитория: DAL или BLL
ответ
Ответственность шаблонов хранилища заключается в хранении и извлечении данных с уровня данных и создании абстракции о том, как выглядит этот слой данных. Идея заключается в том, что если этот базовый уровень должен измениться, вам, возможно, потребуется изменить реализацию репозитория, но не пользователи репозитория, которые все равно будут видеть один и тот же интерфейс.
Помня о правилах дизайна SOLID и особой ответственности, в частности, репозиторий не должен иметь какой-либо бизнес-логики и поэтому не может быть его частью. Однако бизнес-уровень использует репозитории.
Спасибо, Филипп, под словом «data layer», вы имеете в виду, Data Access Layer? Один вопрос, который беспокоит меня, - это то, что для Репозитория все в порядке, чтобы иметь такие функции, как «Бронировать GetBooking (строка RegistrationNumber)», нарушит ли он какие-либо хорошие практики? –
Это было бы вполне приемлемо (даже поощрялось). Но я бы подумал об этом. Получает ли GetBooking (строка) или Get (RegistrationNumber) лучший смысл. Я предлагаю, чтобы использование типа RegistrationNumber было лучше. – Alistair
Цените время и силы ребята. Спасибо, что помог мне очистить мой разум! –
- 1. MVC DAL & BLL Concept
- 2. Общие классы DAL/BLL
- 3. ASP.NET MVC: BLL и DAL для дизайна репозитория
- 4. реализация bll, dal и интерфейсов
- 5. DAL, BLL, Фасад. Старая модель?
- 6. BLL, DAL, BO, ввод данных
- 7. Связи между BLL и DAL
- 8. DAL: границы репозитория вопрос
- 9. Как использовать bll, dal и модель?
- 10. DAL и BLL with Lazy Загрузка
- 11. Что для возвращения из DAL в BLL
- 12. Linq to SQL & Logical partitioning (DAL, BLL)
- 13. BLL, DAL, OBJ и трехслойная архитектура
- 14. Где я должен обрабатывать исключения, в BLL, DAL или PL?
- 15. Данные Аннотации, в которых слой? DAL, BLL или UI?
- 16. Как использовать DTO между UI, BLL, DAL
- 17. Развязка в DAL и BLL - мои проблемы
- 18. Какая опция, отличная от BLL, создающая DAL, допускает модульное тестирование в n-уровневом решении, не подвергая DAL UI или BLL DAL?
- 19. Образец репозитория Вопрос
- 20. DAL/BLL и клиент/сервер: должен ли клиент использовать объекты BLL или DAL для представления? Или, может быть, еще один слой (объект передачи данных?)
- 21. devexpress xpo vs BLL-DAL подход для страниц отчета
- 22. Как делиться DAL и BLL с несколькими приложениями .NET?
- 23. Информация, использующая VB.NET SQL STORED PROCEDURES DAL BLL
- 24. Образец репозитория - поиск репозитория на основе типа
- 25. Dapper по отношению к конструкции n-уровня (BLL/DAL)
- 26. Невозможно наложить объект типа «Класс DAL» на тип «BLL Class»
- 27. Различные модели как в BLL, так и в DAL
- 28. Как сделать проект MVC3 проектом многоуровневого (DAL, BLL и UI)?
- 29. Различные пользовательские интерфейсы, имеющие одинаковые BLL и DAL
- 30. Как бы вы назвали это? (Метод BLL, метод DAL, SP)
Классы репозитория должны быть частью уровня данных, а уровень бизнес-уровня будет доступ к тем, кто использует абстракцию (интерфейсы). Классы репозитория будут иметь общие операции CRUD. –