MVC - Spring Boot и Angular - Что такое вид Spring? - PullRequest
0 голосов
/ 21 июня 2020

Я создал веб-приложение, используя Spring Boot для Backend и Angular 8 для Frontend с помощью фреймворка JHipster. Интерфейс взаимодействует с сервером с помощью REST API.

Я знаю, что и Spring, и Angular используют модель MVC. Таким образом, в случае Spring:

  • база данных, классы JPA и репозитории - это Модель
  • Контроллеры REST - это Контроллер

Мой вопрос: что такое часть View в приложении Spring? Я предполагаю, что все приложение Angular берет на себя роль представления. Это правильно?

Ответы [ 2 ]

0 голосов
/ 23 июня 2020

Часть представления в Spring была популярна благодаря концепции Spring MVC, в которой представление состояло из JSP (Dynami c) и * 1039. * (Stati c) страниц.

Как вы правильно сказали, Spring и Angular оба являются фреймворками на основе MVC, но теперь текущая тенденция смещается в сторону архитектуры микросервисов вместо Monololithi c архитектура. Архитектура микросервисов не зависит от языка для своей работы и взаимодействует с использованием служб REST.

В настоящее время основное внимание уделяется разделению задач и скорости доставки кода.

1. Angular framework обрабатывает часть пользовательского интерфейса

2. Платформа Spring обрабатывает внутренние операции (бизнес-логику, взаимодействие с базой данных и другими серверами.

В структуре Spring MVC означает

  1. Модель - класс, который несет данные
  2. Просмотр - Страница просмотра (JSP / HTML)
  3. Контроллер - Класс, который управляет операцией

Как вы сказали в посте База данных, классы JPA и репозитории - это модель , это не что иное, как шаблон репозитория, который интегрирован с шаблоном MVC для связи с базой данных.

0 голосов
/ 21 июня 2020

Для запуска Angular не использует MVC, Angular использует MVVM (модель-представление-представление-модель) или MVW (модель-представление-что угодно)

Во-вторых, ваш бэкэнд использует n -layer pattern

Уровень обслуживания: Реализация бизнес-логики c

Объекты доступа к данным: это абстракции, которые ваш уровень обслуживания будет вызывать для получения / обновления необходимых данных. Этот уровень обычно вызывает либо базу данных, либо другую систему (например, сервер LDAP, веб-службу или базу данных типа Sql)

Уровень контроллера: который будет получать запросы клиентов.

Другими словами, у вас есть архитектура клиент-сервер с n-уровневым шаблоном, где angular (уровень представления) использует шаблон MVVM.

Наблюдение: ваша модель, которую вы используете, может или не может приходят из ваших услуг. Вы можете захотеть взять результаты, которые дает вам ваша служба, и преобразовать их в модель, которая более специфична c для вашего носителя (например, веб-страница).

различать модели баз данных (dao - объект доступа к данным ) и модель передачи (dto - объект передачи данных)

...