首页 > 解决方案 > java+spring应用程序中如何使用设计模式排列文件结构

问题描述

我创建了一个 Web 应用程序,它从控制台获取用户数据并将数据存储在 MongoDB 中,并使用 Spring rest api 将数据传递给 Angular 前端。
整个系统运行良好,现在我想根据设计模式重新排列文件夹结构,如下所示我尝试使用 MVC 模型但我不确定文件重新排列是否正确我对设计模式不太了解. 所以请帮我解决这个问题,如果下面的结构有误,请帮我改正。

在此处输入图像描述

控制器

BookController - 带有 rest api 的类,用于将数据传递到 Angular 前端(REST 控制器类)

模型

Book - 具有变量和相关方法的父类
Novel - 具有变量和相关方法的
子类 Poems - 具有变量和相关方法的子类
MyBookManager - BookManager 接口实现类,其中包括与 mongoDB 的 crud 操作

看法

BookManager - 与 MyBookManager 相关的接口
Console - 从控制台获取用户输入并调用 MyBookManager 中的方法以将其保存到 DB 的类

存储库

BookRepository - 扩展 MongoRepository 的接口

剩余课程

BookStoreApplication - 包含主要方法的类(运行类)
ErrorHandle - 包含验证方法的类

标签: javaspringmodel-view-controllerdesign-patternsfile-structure

解决方案


班级整体安排不错。我可以建议的唯一调整是在 Controller 包中移动 BookManager 和 MyBookManager。原因是因为它在视图(Console)和模型(数据库)之间,它可以改变模型(通过更新数据库),它可能包含一些关于如何正确解析用户输入的业务逻辑。

如果您想进一步将 BookManager 与 Controller 解耦,则可以将其称为 BookService 并将其放置在名为 Service 的包中(连同 MyBookService)。

关于设计模式,MVC 是一种架构模式,而不是设计模式。我将您链接到其他问题以获取更多信息:


推荐阅读