Где «действия», отличные от db, вписываются в MVC? например. отправлять электронную почту, использовать веб-сервисы и т. Д

#model-view-controller

#model-view-controller

Вопрос:

Просто пытаюсь укрепить мое понимание шаблона MVC.

Моя интуиция говорит, что эти действия являются частью уровня контроллера, но что, если это внешняя служба rest, и сама представляет собой «модель»?

У вас было бы более одной модели? или перепроектировать, чтобы включить несколько моделей в вашу единственную модель?

Как насчет отправки электронной почты? Это не обязательно влияет на какие-либо данные приложения?

Комментарии:

1. Все компоненты, обеспечивающие передачу мгновенного состояния / данных объектов в / из различных систем хранения или внешних служб, Должны находиться или быть абстрагированы (например, this или this и т. Д.) В модели домена . «Действия», использующие их, должны принадлежать компонентам уровня обслуживания приложения , например, его службам.

2. Уровень обслуживания следует рассматривать как границу между моделью домена и уровнем пользовательского интерфейса. Контроллер, как конструкция уровня пользовательского интерфейса, должен делегировать запрос пользователя только службе приложений… Я надеюсь, что это , это и это (как обновленная версия 2-го ресурса) помогут.