DTO & DAO

DTO 描述

在编程领域,数据传输对象(DTO)是在进程之间传输数据的对象。

使用它的动机是进程之间的通信通常通过远程接口(例如,Web 服务)完成,其中每次调用都是昂贵的操作。因为每次调用的大部分成本都与客户端和服务器之间的往返时间有关,所以减少调用次数的一种方法是使用一个对象(DTO)来聚合数据已由多个呼叫转移,但仅由一个呼叫提供服务。

DTO的一个例子

需要员工的姓名和照片才能进入您的公司,您需要为匹配提供该数据,但是并不需要提供您在数据库中拥有的员工的其他信息,DTO只能传输所需要的信息。如图示:

broadcasting

DAO 描述

在软件中,数据访问对象( DAO ) 是一种为某种类型的数据库或其他持久性机制提供抽象接口的模式。
DAO 提供了一些特定的数据操作,而不暴露数据库的细节。

DAO 使用场景例子

想象一下,您拥有一家成功的公司,该公司已收到为 2 个不同客户开发应用程序的合同。两个客户端的应用程序规格几乎相同。两个客户端都使用 SQL 数据库管理数据,但一个公司使用专有数据库,另一个使用开源替代方案,这意味着您的应用程序的持久层将需要以两种不同的方式实现。此外,随着新客户端的出现,可能需要额外的实现。在这种情况下,使用数据访问对象模式将确保访问任何不同的后端数据库所需的正确数量的抽象和封装。

参考文献

  1. 数据传输对象 wiki
  2. Data Transfer Object DTO Definition and Usage
  3. 数据访问对象 wiki


blog comments powered by Disqus
—  原创作品许可 — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0   —