1

虽然存在许多关于这个问题的 stackoverflow 答案,但他们很少清楚地区分两者之间的区别。结果,我在理解它们时感到困惑。

在这里,我正在使用这种模式

参考图 9.1,同时使用了业务对象传输对象。虽然两者的定义如下:

通常被认为是代表实体的类,例如书或商店。这样的类具有某些属性,例如价格、颜色、宽度、isbn 编号等。在 Java 或 .NET 中,它由所谓的 setter 和 getter 组成

现在 DTO 具有相同的定义。在我看来,它就像一个代表对象的 Bean。因此,在独立应用程序中,可能是业务对象和 DTO。请根据上面的模式链接区分两者。

4

2 回答 2

3

DTO 用于将数据从一层传输到另一层(例如从数据访问层到模型)。

BO 包含业务逻辑。

但是这种模式中最重要的是将层分开,以使软件更易于维护。

例如,如果将数据访问层分开,无论是使用数据库获取数据,还是使用套接字,还是使用管道分隔的纯文本文件,都可以更改它,它不会影响其余的层。

于 2013-04-03T22:40:27.933 回答
1

那篇文章定义:

BusinessObject 代表数据客户端。它是需要访问数据源才能获取和存储数据的对象。除了访问数据源的 servlet 或 helper bean 之外,BusinessObject 还可以实现为会话 bean、实体 bean 或一些其他 Java 对象。

这表示用作数据载体的传输对象。DataAccessObject 可以使用传输对象将数据返回给客户端。DataAccessObject 还可以在传输对象中接收来自客户端的数据,以更新数据源中的数据。

您肯定可以看到想要在数据源中获取和存储数据的类与仅在层之间携带数据的对象之间的区别吗?

于 2013-04-03T22:50:16.850 回答