如何使用设计模式在 java+spring 应用程序中安排文件结构

How to use a design pattern to arrange the file structure in a java+spring application

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

控制器

BookController - Class with rest api 将数据传递给 angular 前端(REST 控制器 class)

型号

Book - Parent class with variables and relevant methods
小说 - Child class with variables and related methods
诗 - 子 class 有变量和相关方法
MyBookManager - BookManager 接口实现 class,其中包括 mongoDB

的 crud 操作

查看

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

存储库

BookRepository - 扩展 MongoRepository 的接口

剩余classes

BookStoreApplication - Class 包括主要方法(运行 class)
ErrorHandle - Class 其中包括验证方法

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

如果您想进一步将 BookManager 与 Controller 分离,那么您可以将其称为 BookService 并将其放入名为 Service 的包中(与 MyBookService 一起)。

关于设计模式,MVC是一种架构模式而不是设计模式。我link你向其他问题了解更多信息:

  • Is MVC a Design Pattern or Architectural pattern
  • What's the difference between design patterns and architectural patterns?