dto与dto相互转换_在DTO上

dto与dto相互转换

通常使用DTO或 数据传输对象 。 什么不是s? 众所周知,它们源自DDD(域驱动设计)。 在那里很有意义–域对象具有状态,身份和业务逻辑,而DTO仅具有状态。

但是,当今许多项目正在使用贫血数据模型方法( 我认为 ),并且仍在使用DTO。 每当对象“离开”服务层或“离开”系统时(通过Web服务,rmi等),都将使用它们。 有三种方法:

  • 每个实体至少具有一个对应的DTO。 对于视图层中的不同方案,通常不止一个。 在列表中显示用户时,您会有一个DTO,而在“用户详细信息”窗口中显示时,则需要一个扩展的DTO。 我不赞成这种方法,因为在很多情况下,DTO和域结构具有完全相同的结构,因此,存在很多重复的代码+冗余映射。 另一件事是多个DTO的可变性。 即使它们与实体不同,它们在一个或两个字段之间也彼此不同。 为什么重复是一件坏事? 因为要在两个地方进行更改,所以当数据通过多个对象时,很难跟踪问题,并且因为它是重复的。 在同一项目中复制和粘贴是一种罪过。
  • 仅当DTO的结构与实体的结构明显不同时才创建DTO。 在所有其他情况

你可能感兴趣的:(java,数据库,python,设计模式,spring)