Как абстрагироваться от агрегации Монго? - PullRequest
0 голосов
/ 21 мая 2019

Приветствую всемогущее сообщество StackOverflow!

Я занимаюсь разработкой интересного проекта (веб-сервера), который использует множество очень крутых агрегатов Mongo. Мне очень нравится идея агрегации конвейеров, но я также влюблен в идею луковичной / многоуровневой архитектуры. Я вижу, что бизнес-уровень просачивается в уровень данных, потому что эти агрегации содержат множество бизнес-специфических правил. Например. при группировке -> рассчитать конкретный налог для конкретной страны. Что если этот налог изменится? Я не хочу обновлять агрегацию каждый раз. Кроме того, я бы предпочел отдельный модульный тест для этого бизнес-правила и отдельный тест для вызова уровня данных.

Как вы отделяете бизнес-логику от агрегатов Монго? Вы разделяете? :)

p.s. Мы используем Loopback 3 (модели StrongLoop). Я также знаком с понятиями DDD и паттерном репозитория. Насколько далеко вы обычно абстрагируетесь от слоя данных?

...