Может ли MVC (или MVP) сосуществовать с SPA?
-
19-08-2019 - |
Вопрос
Я думаю, что бизнес-логика должна существовать в модели при использовании шаблона проектирования MVC или MVP, но должна быть скрыта за сервисом в сервис-ориентированной архитектуре.
Может ли программная система использовать шаблон проектирования MVC или MVP в рамках сервис-ориентированной архитектуры? Если да, где находится модель?
Решение
Ну, они совершенно разные животные. MVC - это все о представлении данных, управлении навигацией в пользовательском диалоге и некоторой бизнес-логике при построении модели данных.
SOA - это получение данных от поставщика услуг.
На стороне клиента вы можете использовать SOA в части Model шаблона MVC для построения вашей модели с данными из службы SOA.
На стороне службы, поскольку нет представления и пользовательского диалога, большая часть шаблона MVC становится избыточной. Кроме того, хороший дизайн SOA должен быть сосредоточен на предоставлении полезного сервиса независимо от базового хранилища данных, поэтому & Quot; model & Quot; часть становится в значительной степени случайной.
Это правда, что многие службы " сохраняют состояние " (например, заказы проверены, оплачены, отправлены, затем получены), но эти состояния являются неотъемлемой частью бизнес-логики и не поддаются управлению сессиями, типичному для шаблона MVC. Р>
Другие советы
Хороший вопрос. Я думаю, что MVC и SOA будут и должны сосуществовать. MVC - самая успешная архитектура для взаимодействия пользователя с системой. SOA - это архитектура для эффективного взаимодействия системы с системой. В большинстве организаций есть место для обоих. Поэтому я верю, что они будут сосуществовать. Р>
С точки зрения того, как они взаимодействуют друг с другом, мое личное мнение таково - MVC останется (как только исчезнет SOA) в качестве основного архитектурного паттерна, где модель и контроллер будут предоставлять сервисные интерфейсы, где это уместно. Р>