문제

I am using simple 3 tier architecture. In this I am using DTO classes to communicate between UI,BL and DL. So there is any better way for communication between layers? or this is the right way?

도움이 되었습니까?

해결책

DTO, Data transfer Object, is the concept for distribution layer, you use when transferring data between your consumers and your service. So, if you don't publish any service, get off DTO.

To answer your question, it also depends on how complex your application is. If it's simple, just use CRUD operation, or you can even use DataTable, DataSet for communication.

Otherwise, Domain Entity from DDD is the core object for communication between layers: Data Access Layer, Business Logic Layer and Presentation Layer.

Basically, there are some different type of objects in application:

  1. DTO, use when you public services, main object to communicate between consumer and your service.
  2. View Model, object in presentation layer to support UI.
  3. Domain Entity is from Business logic layer to contain business logic.

Be careful with the term:

  1. Tier: it means physical, like database server, web server.
  2. Layer: it means logical layer: Persentation Layer, Business Logic Layer, Data Access Layer.

다른 팁

Read this tutorial it is very informative. It will help you to decide is DTO right for your scenario.

In addition to @Talha's answer, I'd recommend this article. It is EF-oriented, but concepts, described there, are common ones.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top