【问题标题】:DTO's naming conventionDTO 的命名约定
【发布时间】:2019-03-18 15:56:53
【问题描述】:

可能这是一个简单的问题,但我不清楚哪个是 dto 的类和包的最佳命名约定,就包名称、类的大写 DTO 或 Dto 等而言。示例:

1.包名:

xxx.dto.animal.Dog.class 或 xxx.animal.Dog.class

2。大写 dto 类命名约定:

DogDTO 或 DogDto

3.混合两种 dto 的约定或两者都不混合。

问题是,如果我可以将“dto”这个词声明为一个包,或者“dto”这个词是否必须包含在类名中,或者两种情况都包含。

【问题讨论】:

    标签: coding-style naming-conventions dto


    【解决方案1】:

    尽量避免在类名中使用 DTO 后缀。在包名中包含 DTO 很好。

    您只需要决定如何在包名称中使用它。通常,我更喜欢my.feature1.dto,例如my.feature2.dto

    DTO 是一个非常简单的类,所以应该不难将类识别为 DTO。

    【讨论】:

    • 感谢您的回答。但是关于您的 cmets,例如,如果我们有一个带有 dto 和模型(实体)的类转换器,您将如何处理呢?我的意思是,想象一下我们的模型和 dto 非常相似......你管理名称吗? Dog(Dto) - 狗(模型),唯一不同的是包装上..?
    • 你能举一个使用某种编程语言的例子吗?例如,如果我使用 C#,我可能有类似的内容:my.feafure.dto.Dogmy.feature.model.Dog 我的示例可能很糟糕,但主要思想是具有相同名称的类位于不同的命名空间中。可能模型也在不同的项目中。 IDE 通常会很好地查看使用了哪个包。
    • 我理解这个概念本身,但是你认为在你的课堂上开发的任何 c#、java、kotlin 等都有两个同名和不同包的 Dog 实例吗?我的意思是,my.feaure.dto.Dogmy.feature.model.Dog 在同一个班级,至少看起来很奇怪,但是如果你有 my.feafure.dto.DogDtomy.feature.model.Dog,该类更容易理解,因为您会看到其中一个对象是 dto,哪个是模型...这就是有时认为最好在名称中包含 dto 而其他时候我更喜欢不包含它的原因。
    • 这太模棱两可了。正如我所说,我的例子很糟糕。我多次使用DTO后缀,但后来放弃了它。使用后缀没有任何问题,所以如果您和您的团队清楚,请使用它。我试着说无论如何 DTO 类可能有一个更好的名称。 DTO 传输数据,所以我通常使用 xxxResponse、xxxRequest、xxxStatus 等后缀。我知道这些类只是传输数据,但现在意图比简单的 xxxDto 后缀更清楚。
    猜你喜欢
    • 1970-01-01
    • 2010-11-07
    • 2013-09-20
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2010-10-31
    相关资源
    最近更新 更多