Сколько уровней абстракции мне нужно на уровне постоянства данных?

Я пишу приложение, используя методы DDD. Это моя первая попытка проекта DDD. Это также мой первый проект с нуля, и я единственный разработчик. Я уточнил модель предметной области и пользовательский интерфейс. Теперь я начинаю со слоя постоянства. Я начинаю с юнит-теста, как обычно.

[Test]
public void ShouldAddEmployerToCollection()
{
    var employerRepository = new EmployerRepository();
    var employer = _mockery.NewMock<Employer>();

    employerRepository.Add(employer);
    _mockery.VerifyAllExpectationsHaveBeenMet();
}

Как видите, я не написал никаких ожиданий для функции Add (). Я зашел так далеко и понял, что еще не остановился на конкретном поставщике баз данных. На самом деле, я даже не уверен, что он вообще требует двигателя БД. Плоские файлы или XML могут быть столь же разумными. Так что мне интересно, каким должен быть мой следующий шаг.

Должен ли я добавить еще один уровень абстракции ... скажем, интерфейс DataStore или искать существующую библиотеку, которая уже сделала для меня работу? Я хотел бы избежать привязки программы к конкретной технологии базы данных, если смогу.

Ответы на вопрос(5)

Ваш ответ на вопрос