在3层架构中使用DTO

时间:2012-09-20 05:21:20

标签: c# dto 3-tier

我使用简单的3层架构。 在这里我使用DTO类在UI,BL和DL之间进行通信。 那么层之间的沟通有更好的方法吗?或者这是正确的方法?

3 个答案:

答案 0 :(得分:9)

DTO,数据传输对象,是您在消费者和服务之间传输数据时使用的分发层概念。因此,如果您不发布任何服务,请离开DTO。

要回答您的问题,还取决于您的应用程序的复杂程度。如果它很简单,只需使用CRUD操作,或者甚至可以使用DataTableDataSet进行通信。

否则,来自DDD的域实体是层之间通信的核心对象:数据访问层,业务逻辑层和表示层。

基本上,应用程序中有一些不同类型的对象:

  1. DTO,在公共服务时使用,主要对象是在消费者和服务之间进行通信。
  2. 查看模型,表示层中的对象以支持UI。
  3. Domain Entity来自业务逻辑层,包含业务逻辑。
  4. 小心使用术语:

    1. Tier :它表示物理,如数据库服务器,Web服务器。
    2. 图层:表示逻辑层:Persentation Layer,业务逻辑层,数据访问层。

答案 1 :(得分:7)

阅读本文tutorial,内容非常丰富。它将帮助您确定DTO是否适合您的场景。

答案 2 :(得分:1)

除了@ Talha的答案,我建议article。它是面向EF的,但那里描述的概念是常见的。