DTO

摘要:
DTO就是数据传输对象的缩写。DTO模式或称VO模式,是指将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。DTO类似信使,是同步系统中的Message。Model、DomainObject以及DTO关系:1.分析提炼Model是系统设计之起端2.系统设计之初,三者基本统一3.系统复杂化后,DTO可能是多个Model组合实现;
    • DTO就是数据传输对象(Data Transfer Object)的缩写。
    • DTO模式或称VO模式,是指将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。
    • DTO类似信使,是同步系统中的Message。
    • 该JavaBeans可以是一个数据模型Model。
    • 常见的方式就是为实体对象建立一个Model类,该类只包含这个对象所有字段的getter和setter。例如用户User实体有name, password字段,则建立一个UserModel类,public方法有getName,setName,getPassword,setPassword。这样就可以把UserForm作为参数传给其他函数。
    • Data Transfer Object(DTO)模式是为了解决这样的问题:例如我们的一个实体Bean,其对应的数据库表的字段非常多,那么我们在其Home接口的create方法中以及Enterprise Bean类的ejbCreate方法中的参数可能就会很多,导致我们的这些方法不够elegant。我们可以通过定义一个简单的Java类(实现Serializable接口),其中定义一些属性,并提供相应的get和set方法来解决上面的问题。
    • Model、Domain Object以及DTO关系:
      1.分析提炼Model是系统设计之起端
      2.系统设计之初,三者基本统一
      3.系统复杂化后,DTO可能是多个Model组合实现;

免责声明:文章转载自《DTO》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一些常用的dos命令测试工具的选择和使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

应用程序框架实战三十四:数据传输对象(DTO)介绍及各类型实体比较

本文将介绍DDD分层架构中广泛使用的数据传输对象Dto,并且与领域实体Entity,查询实体QueryObject,视图实体ViewModel等几种实体进行比较。 领域实体为何不能一统江湖? 当你阅读我或其它博主提供的示例代码时,会发现几种类型的实体,这几种实体初步看上去区别不大,只是名称不同,特别在这些示例非常简单的情况下更是如此。你可能会疑惑为何要搞得...

MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping

由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,所以查资料发现有现成的工具可以自动生成底层模型类、Dao接口类甚至Mapping映射文件。 一、建立表结构 CREATE TABLE `user` (`id` varchar(50) NOT NULL,`username` varch...

java术语(PO/POJO/VO/BO/DAO/DTO)

PO(persistant object) 持久对象 在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.VO(value...

Dto和Entity如何优雅的相互转换

什么是Dto,Entity,用来干什么? Dto data transfer object 数据传输实体,主要用于数据传输的实体模型;Entity 持久层的领域模型;当我在做分布式微服务的时候,通常是用Entity来做持久层的实体类,Dto来做接口传输的实体类。这个时候就有一个麻烦事,Entity和Dto的互转。通常的转换方法有两个途径,一个是通过反射的方...

springboot2.1.3 + redisTemplate + Lock 操作 redis 3.0.5

近期在整合springboot + redis 的功能,本来想用原生的jedit api,最后想想有点 low,搜了一把,boot已经提供给我们操作的方法,那就是 使用 redisTemplate 或 StringRedisTemplate, 两者是有区别的,可以看下面的说明 1. 两者的关系是StringRedisTemplate继承RedisTempl...

Green.AgileMapper项目(2)新增DO和DTO代码生成

     如果你还不了解Green.AgileMapper的用意,作用请先一步到上篇Green.AgileMapper开源项目的使用,如果你觉得运行时(Runtime)的Mapper效率存在问题,在这个版本中有了更新,新增了C#直接代码的生成,这里的生成都已3.0后的扩展方法实现,你可以很方便的一句代码实现两者的转化。     代码生成我本想利用T4模板,...