早上好,在我的项目中,我使用的是三层架构,一个包用于控制器,一个包用于服务,另一个包用于数据模型和存储库(我使用的是 spring 数据)。
所以我需要为控制器包中的 Web 服务创建一些类。
我的问题是,在控制器包或模型包中创建这些类是最佳实践,或者模型包可以只保留要保留的类型?
先感谢您。
早上好,在我的项目中,我使用的是三层架构,一个包用于控制器,一个包用于服务,另一个包用于数据模型和存储库(我使用的是 spring 数据)。
所以我需要为控制器包中的 Web 服务创建一些类。
我的问题是,在控制器包或模型包中创建这些类是最佳实践,或者模型包可以只保留要保留的类型?
先感谢您。
在多年使用多层架构之后,最佳实践是以对您和您的开发人员有意义的方式对类进行分组。请参见以下示例:
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── mycompany
│ │ │ └── myproject
│ │ │ └── mymodule
│ │ │ ├── Application.java
│ │ │ ├── data
│ │ │ │ ├── bo
│ │ │ │ │ ├── Account.java
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── User.java
│ │ │ │ └── repository
│ │ │ │ ├── AccountRepository.java
│ │ │ │ ├── CustomerRepository.java
│ │ │ │ └── UserRepository.java
│ │ │ ├── exception
│ │ │ │ ├── DuplicatedRecordException.java
│ │ │ │ ├── NoResultException.java
│ │ │ │ └── UnknownErrorException.java
│ │ │ ├── web
│ │ │ │ └── controller
│ │ │ │ ├── AccountController.java
│ │ │ │ ├── CustomerController.java
│ │ │ │ └── UserController.java
│ │ │ └── service
│ │ │ ├── AccountService.java
│ │ │ ├── CustomerService.java
│ │ │ └── UserService.java
│ │ └── resources
│ │ ├── application.yml
│ │ ├── bootstrap.yml
│ │ ├── logback-spring.xml
│ │ └── messages
│ │ ├── message_es.properties
│ │ └── message.properties
前面的示例将包中的类按以下方式分组:
BO(业务对象) 表示数据的实体
异常 您的自定义异常类
Web 控制器如果你要构建 rest,你所有的控制器都应该在这里。
服务 您的服务类(如果需要)。
资源 您的所有应用程序资源