Я пытаюсь ввести DDD в приложение node.js с помощью es6. Я использую mongoose для своего уровня доступа к данным. Я заметил, что у мангуста есть свойство «.methods», привязанное к схеме модели. Что касается добавления бизнес-логики к сущности, будет ли это идеальным местом для добавления бизнес-логики или я должен рассмотреть возможность создания другого объекта, который содержит бизнес-логику, которая отражает объект схемы модели и просто копирует данные из одного в другой? Если бы я использовал секнализацию, какой из них был бы предпочтительным?DDD + node.js: где должна идти логика домена
ответ
Я не думаю, что на самом деле есть окончательный ответ на этот вопрос, но я дам вам несколько мнений.
Число DDD концепции и инструменты построены вокруг функций, открытых языками ООП (в частности: интерфейсы & IOC). В мире JavaScript вещи, как правило, немного отличаются друг от друга, особенно при использовании модульной системы. Тем не менее, это не невозможно, но компромиссы могут потребоваться.
Одним из наиболее важных моментов в DDD является то, что ваши модели являются «обычными». Они совершенно не знают о каких-либо механизмах персистентности и т. Д., Они просто просто данные и логика. Определяя свои модели с помощью Mongoose, вы в значительной степени теряете это; ваша бизнес-логика привязана к объекту схемы Mongoose. Но, возможно, именно здесь вы можете пойти на компромисс, это очень зависит от того, насколько пурист вы хотите быть об этом. Теперь вы можете делать сопоставление, как вы и предполагали. Если вы решите продолжить эту идею, то может помочь что-то вроде AutoMapper. Я участвовал в проекте, который использовал декораторы ES7 от cerialize для подхода с использованием терминов (мы не использовали схемы, однако).
Это моя забота. Похоже, я создавал бы соединение, которое могло бы быть проблемой в будущем, если мне нужно было переключать репозитории и т. Д. Итак, было бы лучше подойти к созданию отдельного объекта «сущности», который также содержал бы бизнес-правила и просто перемещать данные взад и вперед с помощью сопоставления. Спасибо за головы. – user1790300
- 1. Где должна регистрироваться логика в решении DDD?
- 2. ddd: логика, охватывающая несколько моделей, куда она должна идти?
- 3. MVC2 - Основной вопрос, где логика должна идти
- 4. , где должна идти эта логика проверки?
- 5. Куда должна идти логика безопасности?
- 6. ddd - Где должна синхронизироваться с удаленным API?
- 7. MVC где логика должна идти Контроллер или Модель просмотра
- 8. Куда должна идти логика условного действия?
- 9. Куда должна идти моя бизнес-логика?
- 10. DDD, PHP. Объект домена и бизнес-логика
- 11. В каком слое должна идти модель домена?
- 12. ASP.NET MVC: Куда должна идти эта бизнес-логика?
- 13. Где должна находиться логика для сборки объекта домена из DAO?
- 14. Должна быть локализация части домена в DDD
- 15. DDD: Где разместить события домена
- 16. Где должна запускаться логика запуска в MVVM?
- 17. Где logging должен идти в архитектуре лука с DDD
- 18. Где должна быть реализована логика проверки подлинности?
- 19. Где должна информация для PropertyGrid идти?
- 20. Приложения WCF/Client - куда должна идти бизнес-логика?
- 21. Где должна стоять логика фоновой работы
- 22. Какая логика должна идти в классе домена и что нужно делать в сервисе в Grails?
- 23. Event Sourcing - где находится логика домена?
- 24. Должна ли вся логика взгляда идти в шаблонах?
- 25. DDD: Где сохраняются данные без домена?
- 26. Логика бизнеса/домена в моделях домена и объектах службы
- 27. Какая логика должна идти в контроллерах и что должно идти по маршрутам?
- 28. Где должна существовать логика настойчивости в Доктрине?
- 29. DDD логика и Постоянство Незнание
- 30. Как вы выполняете вычисления на нескольких моделях Rails и где должна идти логика?
Там, где каркасы устойчивости намного эффективнее для CRUD. – plalx