【问题标题】:How naming objects returned by Controllers, Service and Repositories?Controllers、Service 和 Repositories 返回的对象如何命名?
【发布时间】:2021-12-15 13:14:34
【问题描述】:

在 Spring MVC 中,我们有 3 个主要类别的对象:ControllersServicesRepositories。 我无法对这三个类别返回的对象进行“分类”。 例如,存储库返回Entitys,但我如何命名服务和控制器返回的对象?

在我正在开发的一个真实项目中,我有一个存储库从表中返回一个提取,所以我得到了Entities 对象。在逻辑所在的服务中,我只需要返回一些字段,因此我需要将实体映射到另一个对象模型。稍后进入控制器,也许我需要一些特定于层的表示,例如在“标准计算机”和移动设备之间,所以我需要另一种类型的对象来映射服务的结果。

【问题讨论】:

    标签: spring naming-conventions


    【解决方案1】:

    每一层都有以class 为名的后缀,以保持代码库的清洁和可读性。在我从事的大多数项目中,命名约定是:

    控制器层

    暴露在应用程序之外的POJO,比如认为一个REST API是DTO(Data Transfer Object),所以通常在dto包下,名字类似@ 987654323@

    服务层

    处理应用程序业务逻辑的POJO被称为domain对象,所以它通常在domain包下,名称类似于User,名称中不带任何后缀。

    存储库层

    在持久层中保存数据的POJO叫做entity,所以一般在jpa包下,名字类似UserJpa

    【讨论】:

    • 谢谢。所以似乎没有惯例,只有好习惯。
    猜你喜欢
    • 2015-02-07
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多