Репозиторием является все еще Репозиторий без Единицы работы?

просто измените функцию поиска, чтобы включить новое условие

search = (text$: Observable) =>
    text$.pipe(
        debounceTime(200),
        map(term => term === '' ? []
            : options.filter(v => 
               v.name.toLowerCase().indexOf(term.toLowerCase())>-1 ||
               v.id==+term
            ).slice(0, 10))
    )

. Обратите внимание, что, поскольку id - это число, вам необходимо преобразовать термин в число (+ термин)

a Простой пример можно увидеть в stackblitz

9
задан Jim G. 4 October 2009 в 03:07
поделиться

4 ответа

Да, это все еще репозиторий.

Что касается Репозитория == DAO, я думаю, что Репозиторий должен быть на уровне бизнес-логики, а DAO должен быть на уровне доступа к данным, т.е. я думаю они находятся на разных слоях. Как я понимаю, репозиторий вызывает методы DAO для загрузки и сохранения данных.

3
ответ дан 4 December 2019 в 22:30
поделиться

Я бы сказал, что шаблоны репозитория и единицы работы являются ортогональными.

Очень часто я хочу, чтобы одна единица работы охватывала операции над несколькими репозиториями, поэтому реализация этого принадлежат к более высокому уровню.

3
ответ дан 4 December 2019 в 22:30
поделиться

Опираясь на сказанное Sii, мне кажется лучше , если хранилище и единица работы не связаны между собой. Разделение проблем?

1
ответ дан 4 December 2019 в 22:30
поделиться

Рассматривая разделение задач, помните, что ваш репозиторий будет иметь методы реализации хранилища данных, что позволит вам убрать их из основного кода. Это полезно для модульного тестирования, а также для того, чтобы в конечном итоге полностью отказаться от реализации хранилища данных (примером реализации хранилища данных может быть LINQ-to-SQL в ASP.NET).

1
ответ дан 4 December 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: