работать с любой моделью, или допускается создание отдельных экземпляров, с общим интерфейсом?
Я понимаю, что лучше иметь один, тогда куча проблем уйдет при разработке, но вот создать его — довольно проблемно. Нужно обогащать модель метаданными, что немного не клеится с общим представлением репозитория.
Ну у меня для каждой модели свой, просто он сообвествует интерфейсу в парой дженериков
Да, у меня тоже. Но чтоб реализовать UoW нужно будет как-то хранить данные и уметь сохранять всё разом (ну поддерживать что данные в базе и те, что используются в приложении не отличаются после коммита в транзакции). Т.е. если мы используем разные датамапперы, то нмы вынуждены писать обработчик, который будет собирать это всё в единый запрос, что может быть крайне сложно. А если он будет один, то можно будет значительно проще это всё провернуть, но тогда нужно хранить метаинформацию о модели. (Причем она явно будет привязана к модели, а не к внешнему кешу, например, ведь должна существовать только в рамках одной транзакции)
Обсуждают сегодня