Data Transfer Object 类应遵循 Java 语言规范中定义的名称约定:
类类型的名称应是描述性名词或名词短语,不要太长,在混合大小写中,每个单词的第一个字母大写。
ClassLoader
SecurityManager
Thread
Dictionary
BufferedInputStream
[...]
在类名后添加 DTO 或 Dto 后缀除了指示类携带数据而没有任何行为之外,不会对类本身有太多了解。因此,与其将对象称为 DTO,不如考虑更有意义的名称,这些名称为类传达更好的语义。
以下是您可以使用的名称建议的非详尽列表:
SomeSortOfCommand
SomeSortOfConfiguration
SomeSortOfCredentials
SomeSortOfDetails
SomeSortOfElement
SomeSortOfEvent
SomeSortOfFilter
SomeSortOfHeader
SomeSortOfInput
SomeSortOfInstruction
SomeSortOfItem
SomeSortOfMessage
SomeSortOfMetadata
SomeSortOfOperation
SomeSortOfOutput
SomeSortOfPayload
SomeSortOfProjection
SomeSortOfProperties
SomeSortOfQueryParameter
SomeSortOfQueryResult
SomeSortOfRepresentation
SomeSortOfRequest
SomeSortOfResource
SomeSortOfResponse
SomeSortOfResult
SomeSortOfRow
SomeSortOfSettings
SomeSortOfSpecification
SomeSortOfStatus
SomeSortOfSummary
注1:首字母缩略词或所有大写单词是否应作为单词处理,我想这取决于您。检查Java API,你会发现一些绊脚石,比如ZipInputStream
/ GZIPInputStream
。这两个类位于同一包中,并且名称约定不一致。HttpURLConnection
也没有显示出与首字母缩略词的任何一致性。
注2:上面列出的一些名字是从Richard Dingwall撰写的这篇文章中借来的(原始文章似乎不再可用,所以这是来自Web Archive的缓存副本)。