Ich versuche, eine Dokumentation über die Anwendung zu schreiben, weiß aber nicht, wie ich die Architektur beschreiben soll.
Basierend auf meinen Recherchen dachte ich, die Präsentationsschicht sei meine React-Anwendung, die Geschäfts-/Anwendungsschicht sei die Spring Boot-Anwendung und die Datenschicht sei MySQL.
Das schien mir logisch, aber ich bin zufällig auf dieses Tutorial gestoßen
https://www.youtube.com/watch?v=xJC7ItRoEbw&ab_channel=Amigoscode
Er sagt gegen 10:38, dass Controller Teil der Präsentationsschicht sind, was nicht mit dem zu tun zu haben scheint, was ich bereits weiß.
Es gibt ein weiteres Tutorial https://www.youtube.com/watch?v=udzBtJv2uls&ab_channel=Izenda, das meine ersten Gedanken zum Ausdruck bringt.
Außerdem weiß ich, dass Spring Boot-Anwendungen mehrere Ebenen von Steuerelementen, Diensten und Repositorys (oder Daos) haben, daher möchte ich all diese Informationen kombinieren, bin mir aber nicht sicher, ob ich etwas Großes schreiben werde, wenn das der Fall ist ein Bug
Können Sie mir diese anhand meines Projekts erklären? Im Frontend habe ich eine React-App, die Get-Anfragen an einen typischen Controller sendet, der eine Dienstmethode aufruft, die eine Repository-Methode aufruft, die mit der Datenbank kommuniziert und die Abfrage ausführt.
在视频中,演示者非常非正式,他可以互换使用层和层。很多人都这样做,你必须弄清楚上下文的意图。
对我来说,层通常意味着跨不同机器的分布。 MySQL、springboot 应用程序和客户端浏览器中的 React 代码通常都运行在不同的机器上,因此它们是不同的层。
但是术语“层”并不意味着这样的分布,SpringBoot 应用程序可以具有 Web 控制器层、服务层和数据访问层,它们都是同一应用程序工件的一部分。该术语用于讨论应用程序内的逻辑是如何组织的。
Spring 最初是对一种流行假设的回应,即应用程序必须通过 Web 应用程序分层构建,这些 Web 应用程序称为 ejb 服务器,这些服务器托管在单独的集群上并通过网络进行通信。 Spring 创始人对层和层进行了区分,以便更容易解释他们的方法。 Rod Johnson 的一对一书中介绍了 Spring 的主要思想,其中使用了此措辞。控制器是否是表示层的一部分是有争议的。对我来说,演示意味着外观和感觉,控制器执行特定于 Web 的操作,例如公开端点、验证参数等,但尤其是在 SPA 中,演示位于前端代码中,而服务器端仅提供数据。在 SPA 控制器之前,控制器会转发到在服务器上呈现 html 的视图,因此控制器和演示文稿的相关性更加紧密。