Вопрос

Я думаю, что бизнес-логика должна существовать в модели при использовании шаблона проектирования MVC или MVP, но должна быть скрыта за сервисом в сервис-ориентированной архитектуре.

Может ли программная система использовать шаблон проектирования MVC или MVP в рамках сервис-ориентированной архитектуры? Если да, где находится модель?

Это было полезно?

Решение

Ну, они совершенно разные животные. MVC - это все о представлении данных, управлении навигацией в пользовательском диалоге и некоторой бизнес-логике при построении модели данных.

SOA - это получение данных от поставщика услуг.

На стороне клиента вы можете использовать SOA в части Model шаблона MVC для построения вашей модели с данными из службы SOA.

На стороне службы, поскольку нет представления и пользовательского диалога, большая часть шаблона MVC становится избыточной. Кроме того, хороший дизайн SOA должен быть сосредоточен на предоставлении полезного сервиса независимо от базового хранилища данных, поэтому & Quot; model & Quot; часть становится в значительной степени случайной.

Это правда, что многие службы " сохраняют состояние " (например, заказы проверены, оплачены, отправлены, затем получены), но эти состояния являются неотъемлемой частью бизнес-логики и не поддаются управлению сессиями, типичному для шаблона MVC.

Другие советы

Хороший вопрос. Я думаю, что MVC и SOA будут и должны сосуществовать. MVC - самая успешная архитектура для взаимодействия пользователя с системой. SOA - это архитектура для эффективного взаимодействия системы с системой. В большинстве организаций есть место для обоих. Поэтому я верю, что они будут сосуществовать.

С точки зрения того, как они взаимодействуют друг с другом, мое личное мнение таково - MVC останется (как только исчезнет SOA) в качестве основного архитектурного паттерна, где модель и контроллер будут предоставлять сервисные интерфейсы, где это уместно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top