Я собираюсь написать "Единицу работы", пожалуйста, помогите мне разобраться со всеми уловками
-
21-09-2019 - |
Вопрос
Я собираюсь написать свой собственный DAL на C #.Я решил использовать шаблон 'Unit of Work' (далее упоминается как uow) с запросом в качестве области видимости и картой идентификаторов, хранящейся в HttpContext.Товары.
Прямо сейчас у меня возник вопрос о реализации CRUD-методов.Как / где они реализованы?Реализованы ли они в каждом отдельном бизнес-классе (как в шаблоне active records) или каким-то образом реализованы в классе uow (если да, то как)?
Я также предполагаю, что мне нужно использовать в качестве области видимости не только запрос, но и подключение к БД.Но как?Должен ли я открыть соединение в начале запроса и закрыть его при отправке uow?
Мы высоко ценим каждый совет, особенно ваш опыт "реального мира".
Спасибо вам всем :)
Решение
Судя по всему, вы пытаетесь разработать свой собственный Объектно-реляционное отображение.Я бы сказал, не пытайтесь даже приблизиться к написанию своего собственного.
По теме, один из активных участников пакета NHibernate ORM, Дэви Брион, написал руководство, в котором пошагово показано, как написать простой ORM.
Он говорит, что потратил 24 часа на написание руководства, так что не ожидайте, что в нем будет что-то близкое к готовому к производству ORM-пакету.
Кроме того, руководство предназначено для объяснения того, как работает ORM, а не для того, чтобы на самом деле мотивировать вас написать конкурента продукту NHibernate, продукту, в который он вносит свой вклад.