В схеме DDD единица работы должна быть связана с хранилищем? Я видел несколько разных примеров, в том числе репозиторий, который реализует интерфейс единицы работы, репозиторий, который реализует поведение самой единицы работы, и репозиторий, у которого есть свойство, представляющее единицу работы, чтобы его можно было использовать совместно несколько экземпляров хранилища в течение жизни UoW. В последнем случае это выглядит как анти-паттерн ... то есть должен ли потребитель действительно знать, чтобы разделить экземпляр UoW между экземплярами репозитория? Разве это не должно быть заключено в капсулу и не подвергаться воздействию со стороны потребителя?
Я хотел бы услышать некоторые сведения о преимуществах этих разных подходов по сравнению друг с другом и почему.
Спасибо.