В сочетании с отделенным внутренним интерфейсом - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть проект веб-сайта asp.net, в котором в качестве внутреннего интерфейса используются API-интерфейсы. Мне нужно полностью отделить свой интерфейс от моего серверного API, поэтому я создал один сервис RESTful в своем внутреннем проекте и Теперь я хочу потреблять его во внешнем интерфейсе. Я предполагаю, что у меня есть два решения:

  • Создайте мою модель только во внутреннем интерфейсе и добавьте ссылку на внешний интерфейс, чтобы избежать повторной записи той же модели во внешнем интерфейсе. (Вместе)
  • Построить две точные модели как на заднем, так и на переднем концах. (Decoupled)

Плюсы:

Решение 1)

  • Позволяет избежать повторной записи той же модели во внешнем интерфейсе.

  • Принудительно обновляет внешнюю модель после изменения серверной части (в противном случае ошибка сборки)

Решение 2)

  • Помогает отделить мой интерфейс от сервера.

  • Избегает ошибок сборки при изменении внутренней модели. (интерфейсные исключения)

Посоветуйте, пожалуйста, какой подход лучше, а если есть предложения, поделитесь.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Обычно вам не нужна та же модель в интерфейсе, что и в интерфейсе:

  1. Разделение это хорошо. Нет никакой причины, чтобы ваш интерфейс был каким-либо образом связан с вашим сервером.
  2. Ваши данные по-разному структурированы во внешнем интерфейсе и во внутреннем.
  3. У вас может появиться несколько интерфейсных приложений, использующих один и тот же сервер.
  4. Конкретный интерфейс может потреблять другой (набор) интерфейсов
0 голосов
/ 30 апреля 2018

Это зависит от вашей скорости изменения как для внутреннего, так и для внешнего интерфейса и от того, насколько хорошо ваш инструмент поддерживает его, но есть причина, по которой в большинстве случаев люди просто используют две модели.

(Причина в том, что очень трудно понять это правильно, и это сильно снижает вашу ловкость.)

...