如何知道Java应用程序是否使用MVC设计模式?例如,我想知道github的这个应用程序是否使用MVC设计模式:https://github.com/eveningstar33/GoalTracker
这是一个全栈应用,前端是Angular,后端是Spring Boot。如果是,我想知道谁是模特?我认为RestController是控制器,而Angular应用程序是视图。难到不是么?或者,如果应用程序使用Spring MVC,它是否也使用MVC设计模式?
发布于 2019-01-29 19:21:19
Spring MVC中的MVC part用于更广泛的JSP/Sevlets based MVC概念的实现(非常好的实现:),其中通常我们有Front Controller Servlet,它将请求分派到相应的视图控制器,并解析/准备要呈现给用户的结果视图。
当我们同时使用Angular (或任何其他Single Page Application JS框架)和Spring MVC一起工作时,MVC部分可能会发生变化。在Angular中,通常每个组件都有"Controller“类,里面可能有很多逻辑,连接到不同的服务。因此,较少的逻辑停留在服务器上,它充当DAO层的代理来执行CRUD操作。在这种情况下,很常见的情况是:
REST视图-角度视图模板(例如Goal View)
发布于 2019-01-29 19:55:54
MVC是软件开发中的一种设计模式。Model通常是一个封装了业务对象数据的POJO (Plain Java Object),View是用户与之交互的对象,它还负责接收用户的请求并提供响应,而Controller位于View和Model之间,用于传输数据和充当导航决策者。
您可以在Spring Boot中编写后端,为任何客户端提供HTTP API,包括Angular。Angular在内部使用TypeScript ( JavaScript的超集),您可以使用它来消费API。
下面是一个这样的示例,其中我用Sprint Boot - https://github.com/royalghost/PortfolioTrackerServices编写了服务
然后有一个单独的项目,它使用Angular - https://github.com/royalghost/PortfolioServicesTrackerClient使用上述服务
Spring MVC是实现MVC设计模式的框架之一。您可以查看一个使用Spring MVC - https://github.com/royalghost/UserRegistration的单独项目。还要注意的是,这个项目使用了Spring Boot,因为Spring Boot只是将所有必需的库放在一起以快速构建、启动和部署应用程序的一种简单方法。
Angular在单页面应用程序( SPA )中更受欢迎,现在许多服务器端计算都推到了客户端(这也是为了扩展产品)。)因此,在使用相同的技术和堆栈时,选择哪种设计模式或体系结构完全取决于开发人员。
参考文献: MVC - https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Angular - https://angular.io/guide/architecture
https://stackoverflow.com/questions/54418545
复制相似问题